/*
  弹出层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等这些属性会有问题
如何转换为uniapp  :  因为uniapp v3默认开启响应式缩放处理原理与本框架一致 只需把所有rem属性转换为rpx并*100  例如 0.16rem = 0.16*100rpx = 16rpx

*/

/*-------------------------------------------------   工具类样式  ------------------------------------------*/

:root{
    /*默认样式*/
    --bs-html-font-size:100px;
    --bs-def-font-size:0.16rem;
    --bs-def-font-family:"Microsoft YaHei";
    --bs-def-line-height: 1.5;
    --bs-def-color: #212529;
    --bs-def-backgory-color: #fff;

    /*网格*/
    --bs-gutter-x: 0.15rem;  /*横边距*//* 用于改变row与row-auto外边距大小 */
    --bs-gutter-y: 0;  /*纵边距*//* 用于改变row与row-auto外边距大小 */
    --bs-rows: 1;/*行数*/
    --bs-columns: 24;/*列数*/
    --bs-gap: 0rem;/*间距*/

    /*边框*/
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.075rem;
    --bs-border-radius-sm: 0.1rem;
    --bs-border-radius-lg: 0.15rem;
    --bs-border-radius-xl: 0.25rem;
    --bs-border-radius-2xl: 0.5rem;
    --bs-border-radius-pill: 50rem;

    /*透明渐变*/
    --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));

    /* 常用颜色 */
    /*蓝*/
    --bs-blue: #0d6efd;
    --bs-cyan: #0dcaf0;
    --bs-blue-rgb: 13, 110, 253;
    --bs-cyan-rgb: 13, 202, 240;

    /*紫*/
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-indigo-rgb: 102, 16, 242;
    --bs-purple-rgb: 111, 66, 193;

    /*红*/
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-pink-rgb: 214, 51, 132;
    --bs-red-rgb: 220, 53, 69;
    --bs-orange-rgb: 253, 126, 20;

    /*黄*/
    --bs-yellow: #ffc107;
    --bs-yellow-rgb: 255, 193, 7;

    /*绿*/
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-green-rgb: 25, 135, 84;
    --bs-teal-rgb: 32, 201, 151;
    
    /*黑白*/
    --bs-black: #000;
    --bs-white: #fff;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-black-rgb: 0, 0, 0;
    --bs-white-rgb: 255, 255, 255;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-gray-rgb: 108, 117, 125;
    --bs-gray-dark-rgb: 52, 58, 64;
    --bs-gray-100-rgb: 248, 249, 250;
    --bs-gray-200-rgb: 233, 236, 239;
    --bs-gray-300-rgb: 222, 226, 230;
    --bs-gray-400-rgb: 206, 212, 218;
    --bs-gray-500-rgb: 173, 181, 189;
    --bs-gray-600-rgb: 108, 117, 125;
    --bs-gray-700-rgb: 73, 80, 87;
    --bs-gray-800-rgb: 52, 58, 64;
    --bs-gray-900-rgb: 33, 37, 41;

    /* HOVER */
    /* 背景颜色 */
    --bs-hover-bg-color: #177ae0;
    --bs-hover-def-bg-color: #2086EE;
}


/* 比例调整 */
@media only screen and (min-width: 1920px) {
  /* 超大屏幕比例 */
  :root{
    --bs-html-font-size:calc(100vw / 19.2);
  }
}
@media only screen and (max-width: 1200px) {
  /* 平板比例 */
  :root{
    --bs-html-font-size:calc(100vw / 12);
  }
}
@media only screen and (max-width: 992px) {
  :root{
    /*--bs-html-font-size:calc(100vw / 9.92);*/
  }
}
@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 / 4.8);*/
    --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-def-color);
  background-color:var(--bs-def-backgory-color);
  /*去除左右滚动*/
  overflow: scroll;
  overflow-x: hidden;
  /*全屏*/
  width:100vw;
}
.body{
  width:100vw;
}
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-fluid,
.container-big,
.container-1600,
.container-xxxl,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: var(--bs-gutter-x);
  padding-left: var(--bs-gutter-x);
  margin-right: auto;
  margin-left: auto;
}

/* 包含边距尺寸 */
@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 576px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 768px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 992px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1200px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1400px;
  }
}
/* 包含边距尺寸 */

/* 强制缩小或扩大规格 */
@media (min-width: 1200px) {
  /* 这个附加形式使用例如 container-xl container-1200 */
  .container-1200{
    max-width: 1200px;
  }
}

@media (min-width: 1400px) {
  /* 这个附加形式使用例如 container-xl container-1400 */
  .container-1400{
    max-width: 1400px;
  }
}

@media (min-width: 1600px) {
  /* 这个附加形式使用例如 container-xl container-1600 */
  .container-1600{
    max-width: 1600px;
  }
}
/* 强制缩小或扩大规格 */

/* 超大屏幕兼容 */
@media (min-width: 1921px) {
  .container-big, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 75%;
  }
}





/* 宽度100% */
.row {
  --bs-gutter-x: 0.15rem;
  --bs-gutter-y: 0;
  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%;
  /* 内容不需要边距 */
  /*padding-right: calc(var(--bs-gutter-x) * 0.5);*/
  /*padding-left: calc(var(--bs-gutter-x) * 0.5);*/
  /*margin-top: var(--bs-gutter-y);*/
}

/* 宽度自动的 */
.row-auto {
  --bs-gutter-x: 0.15rem;
  --bs-gutter-y: 0;
  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%;
  /* 内容不需要边距 */
  /*padding-right: calc(var(--bs-gutter-x) * 0.5);*/
  /*padding-left: calc(var(--bs-gutter-x) * 0.5);*/
  /*margin-top: var(--bs-gutter-y);*/
}




/*
  grid布局
  将(剩余空间 - 空轨道) 平均分配[每个最少100px]
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  将剩余空间 平均分配[每个最少100px]
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));

  注意start是从第几个开始
*/
.grid {
  display: grid;
  grid-template-rows: repeat(var(--bs-rows, 1), 1fr);
  grid-template-columns: repeat(var(--bs-columns, 24), 1fr);
  gap: var(--bs-gap, 0rem);
}
/*几行*/
.grid.g-rows-1{
  --bs-rows: 1;
}
.grid.g-rows-2{
  --bs-rows: 2;
}
.grid.g-rows-3{
  --bs-rows: 3;
}
.grid.g-rows-4{
  --bs-rows: 4;
}
.grid.g-rows-5{
  --bs-rows: 5;
}
.grid.g-rows-6{
  --bs-rows: 6;
}
.grid.g-rows-7{
  --bs-rows: 7;
}
.grid.g-rows-8{
  --bs-rows: 8;
}
.grid.g-rows-9{
  --bs-rows: 9;
}
.grid.g-rows-10{
  --bs-rows: 10;
}
.grid.g-rows-11{
  --bs-rows: 11;
}
.grid.g-rows-12{
  --bs-rows: 12;
}
.grid.g-rows-13{
  --bs-rows: 13;
}
.grid.g-rows-14{
  --bs-rows: 14;
}
.grid.g-rows-15{
  --bs-rows: 15;
}
.grid.g-rows-16{
  --bs-rows: 16;
}
.grid.g-rows-17{
  --bs-rows: 17;
}
.grid.g-rows-18{
  --bs-rows: 18;
}
.grid.g-rows-20{
  --bs-rows: 20;
}
.grid.g-rows-21{
  --bs-rows: 21;
}
.grid.g-rows-22{
  --bs-rows: 22;
}
.grid.g-rows-23{
  --bs-rows: 23;
}
.grid.g-rows-24{
  --bs-rows: 24;
}
/*几列*/
.grid.g-columns-1{
  --bs-columns: 1;
}
.grid.g-columns-2{
  --bs-columns: 2;
}
.grid.g-columns-3{
  --bs-columns: 3;
}
.grid.g-columns-4{
  --bs-columns: 4;
}
.grid.g-columns-5{
  --bs-columns: 5;
}
.grid.g-columns-6{
  --bs-columns: 6;
}
.grid.g-columns-7{
  --bs-columns: 7;
}
.grid.g-columns-8{
  --bs-columns: 8;
}
.grid.g-columns-9{
  --bs-columns: 9;
}
.grid.g-columns-10{
  --bs-columns: 10;
}
.grid.g-columns-11{
  --bs-columns: 11;
}
.grid.g-columns-12{
  --bs-columns: 12;
}
.grid.g-columns-13{
  --bs-columns: 13;
}
.grid.g-columns-14{
  --bs-columns: 14;
}
.grid.g-columns-15{
  --bs-columns: 15;
}
.grid.g-columns-16{
  --bs-columns: 16;
}
.grid.g-columns-17{
  --bs-columns: 17;
}
.grid.g-columns-18{
  --bs-columns: 18;
}
.grid.g-columns-19{
  --bs-columns: 19;
}
.grid.g-columns-20{
  --bs-columns: 20;
}
.grid.g-columns-21{
  --bs-columns: 21;
}
.grid.g-columns-22{
  --bs-columns: 22;
}
.grid.g-columns-23{
  --bs-columns: 23;
}
.grid.g-columns-24{
  --bs-columns: 24;
}

/*占用几个 列*/
.grid .g-col-1 {
  grid-column: auto/span 1;
}
.grid .g-col-2 {
  grid-column: auto/span 2;
}
.grid .g-col-3 {
  grid-column: auto/span 3;
}
.grid .g-col-4 {
  grid-column: auto/span 4;
}
.grid .g-col-5 {
  grid-column: auto/span 5;
}
.grid .g-col-6 {
  grid-column: auto/span 6;
}
.grid .g-col-7 {
  grid-column: auto/span 7;
}
.grid .g-col-8 {
  grid-column: auto/span 8;
}
.grid .g-col-9 {
  grid-column: auto/span 9;
}
.grid .g-col-10 {
  grid-column: auto/span 10;
}
.grid .g-col-11 {
  grid-column: auto/span 11;
}
.grid .g-col-12 {
  grid-column: auto/span 12;
}
.grid .g-col-13 {
  grid-column: auto/span 13;
}
.grid .g-col-14 {
  grid-column: auto/span 14;
}
.grid .g-col-15 {
  grid-column: auto/span 15;
}
.grid .g-col-16 {
  grid-column: auto/span 16;
}
.grid .g-col-17 {
  grid-column: auto/span 17;
}
.grid .g-col-18 {
  grid-column: auto/span 18;
}
.grid .g-col-19 {
  grid-column: auto/span 19;
}
.grid .g-col-20 {
  grid-column: auto/span 20;
}
.grid .g-col-21 {
  grid-column: auto/span 21;
}
.grid .g-col-22 {
  grid-column: auto/span 22;
}
.grid .g-col-23 {
  grid-column: auto/span 23;
}
.grid .g-col-24 {
  grid-column: auto/span 24;
}
/*从第几个开始 列*/
.grid .g-col-start-1 {
  grid-column-start: 1;
}
.grid .g-col-start-2 {
  grid-column-start: 2;
}
.grid .g-col-start-3 {
  grid-column-start: 3;
}
.grid .g-col-start-4 {
  grid-column-start: 4;
}
.grid .g-col-start-5 {
  grid-column-start: 5;
}
.grid .g-col-start-6 {
  grid-column-start: 6;
}
.grid .g-col-start-7 {
  grid-column-start: 7;
}
.grid .g-col-start-8 {
  grid-column-start: 8;
}
.grid .g-col-start-9 {
  grid-column-start: 9;
}
.grid .g-col-start-10 {
  grid-column-start: 10;
}
.grid .g-col-start-11 {
  grid-column-start: 11;
}
.grid .g-col-start-12 {
  grid-column-start: 12;
}
.grid .g-col-start-13 {
  grid-column-start: 13;
}
.grid .g-col-start-14 {
  grid-column-start: 14;
}
.grid .g-col-start-15 {
  grid-column-start: 15;
}
.grid .g-col-start-16 {
  grid-column-start: 16;
}
.grid .g-col-start-17 {
  grid-column-start: 17;
}
.grid .g-col-start-18 {
  grid-column-start: 18;
}
.grid .g-col-start-19 {
  grid-column-start: 19;
}
.grid .g-col-start-20 {
  grid-column-start: 20;
}
.grid .g-col-start-21 {
  grid-column-start: 21;
}
.grid .g-col-start-22 {
  grid-column-start: 22;
}
.grid .g-col-start-23 {
  grid-column-start: 23;
}

/*占用几个 行*/
.grid .g-row-1 {
  grid-row: auto/span 1;
}
.grid .g-row-2 {
  grid-row: auto/span 2;
}
.grid .g-row-3 {
  grid-row: auto/span 3;
}
.grid .g-row-4 {
  grid-row: auto/span 4;
}
.grid .g-row-5 {
  grid-row: auto/span 5;
}
.grid .g-row-6 {
  grid-row: auto/span 6;
}
.grid .g-row-7 {
  grid-row: auto/span 7;
}
.grid .g-row-8 {
  grid-row: auto/span 8;
}
.grid .g-row-9 {
  grid-row: auto/span 9;
}
.grid .g-row-10 {
  grid-row: auto/span 10;
}
.grid .g-row-11 {
  grid-row: auto/span 11;
}
.grid .g-row-12 {
  grid-row: auto/span 12;
}
.grid .g-row-13 {
  grid-row: auto/span 13;
}
.grid .g-row-14 {
  grid-row: auto/span 14;
}
.grid .g-row-15 {
  grid-row: auto/span 15;
}
.grid .g-row-16 {
  grid-row: auto/span 16;
}
.grid .g-row-17 {
  grid-row: auto/span 17;
}
.grid .g-row-18 {
  grid-row: auto/span 18;
}
.grid .g-row-19 {
  grid-row: auto/span 19;
}
.grid .g-row-20 {
  grid-row: auto/span 20;
}
.grid .g-row-21 {
  grid-row: auto/span 21;
}
.grid .g-row-22 {
  grid-row: auto/span 22;
}
.grid .g-row-23 {
  grid-row: auto/span 23;
}
.grid .g-row-24 {
  grid-row: auto/span 24;
}
/*从第几个开始 行*/
.grid .g-row-start-1 {
  grid-row-start: 1;
}
.grid .g-row-start-2 {
  grid-row-start: 2;
}
.grid .g-row-start-3 {
  grid-row-start: 3;
}
.grid .g-row-start-4 {
  grid-row-start: 4;
}
.grid .g-row-start-5 {
  grid-row-start: 5;
}
.grid .g-row-start-6 {
  grid-row-start: 6;
}
.grid .g-row-start-7 {
  grid-row-start: 7;
}
.grid .g-row-start-8 {
  grid-row-start: 8;
}
.grid .g-row-start-9 {
  grid-row-start: 9;
}
.grid .g-row-start-10 {
  grid-row-start: 10;
}
.grid .g-row-start-11 {
  grid-row-start: 11;
}
.grid .g-row-start-12 {
  grid-row-start: 12;
}
.grid .g-row-start-13 {
  grid-row-start: 13;
}
.grid .g-row-start-14 {
  grid-row-start: 14;
}
.grid .g-row-start-15 {
  grid-row-start: 15;
}
.grid .g-row-start-16 {
  grid-row-start: 16;
}
.grid .g-row-start-17 {
  grid-row-start: 17;
}
.grid .g-row-start-18 {
  grid-row-start: 18;
}
.grid .g-row-start-19 {
  grid-row-start: 19;
}
.grid .g-row-start-20 {
  grid-row-start: 20;
}
.grid .g-row-start-21 {
  grid-row-start: 21;
}
.grid .g-row-start-22 {
  grid-row-start: 22;
}
.grid .g-row-start-23 {
  grid-row-start: 23;
}
@media (min-width: 576px) {
  /*几行*/
  .grid.g-rows-sm-1{
    --bs-rows: 1;
  }
  .grid.g-rows-sm-2{
    --bs-rows: 2;
  }
  .grid.g-rows-sm-3{
    --bs-rows: 3;
  }
  .grid.g-rows-sm-4{
    --bs-rows: 4;
  }
  .grid.g-rows-sm-5{
    --bs-rows: 5;
  }
  .grid.g-rows-sm-6{
    --bs-rows: 6;
  }
  .grid.g-rows-sm-7{
    --bs-rows: 7;
  }
  .grid.g-rows-sm-8{
    --bs-rows: 8;
  }
  .grid.g-rows-sm-9{
    --bs-rows: 9;
  }
  .grid.g-rows-sm-10{
    --bs-rows: 10;
  }
  .grid.g-rows-sm-11{
    --bs-rows: 11;
  }
  .grid.g-rows-sm-12{
    --bs-rows: 12;
  }
  .grid.g-rows-sm-13{
    --bs-rows: 13;
  }
  .grid.g-rows-sm-14{
    --bs-rows: 14;
  }
  .grid.g-rows-sm-15{
    --bs-rows: 15;
  }
  .grid.g-rows-sm-16{
    --bs-rows: 16;
  }
  .grid.g-rows-sm-17{
    --bs-rows: 17;
  }
  .grid.g-rows-sm-18{
    --bs-rows: 18;
  }
  .grid.g-rows-sm-20{
    --bs-rows: 20;
  }
  .grid.g-rows-sm-21{
    --bs-rows: 21;
  }
  .grid.g-rows-sm-22{
    --bs-rows: 22;
  }
  .grid.g-rows-sm-23{
    --bs-rows: 23;
  }
  .grid.g-rows-sm-24{
    --bs-rows: 24;
  }
  /*几列*/
  .grid.g-columns-sm-1{
    --bs-columns: 1;
  }
  .grid.g-columns-sm-2{
    --bs-columns: 2;
  }
  .grid.g-columns-sm-3{
    --bs-columns: 3;
  }
  .grid.g-columns-sm-4{
    --bs-columns: 4;
  }
  .grid.g-columns-sm-5{
    --bs-columns: 5;
  }
  .grid.g-columns-sm-6{
    --bs-columns: 6;
  }
  .grid.g-columns-sm-7{
    --bs-columns: 7;
  }
  .grid.g-columns-sm-8{
    --bs-columns: 8;
  }
  .grid.g-columns-sm-9{
    --bs-columns: 9;
  }
  .grid.g-columns-sm-10{
    --bs-columns: 10;
  }
  .grid.g-columns-sm-11{
    --bs-columns: 11;
  }
  .grid.g-columns-sm-12{
    --bs-columns: 12;
  }
  .grid.g-columns-sm-13{
    --bs-columns: 13;
  }
  .grid.g-columns-sm-14{
    --bs-columns: 14;
  }
  .grid.g-columns-sm-15{
    --bs-columns: 15;
  }
  .grid.g-columns-sm-16{
    --bs-columns: 16;
  }
  .grid.g-columns-sm-17{
    --bs-columns: 17;
  }
  .grid.g-columns-sm-18{
    --bs-columns: 18;
  }
  .grid.g-columns-sm-19{
    --bs-columns: 19;
  }
  .grid.g-columns-sm-20{
    --bs-columns: 20;
  }
  .grid.g-columns-sm-21{
    --bs-columns: 21;
  }
  .grid.g-columns-sm-22{
    --bs-columns: 22;
  }
  .grid.g-columns-sm-23{
    --bs-columns: 23;
  }
  .grid.g-columns-sm-24{
    --bs-columns: 24;
  }

  .grid .g-col-sm-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-sm-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-sm-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-sm-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-sm-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-sm-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-sm-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-sm-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-sm-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-sm-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-sm-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-sm-12 {
    grid-column: auto/span 12;
  }
  .grid .g-col-sm-13 {
    grid-column: auto/span 13;
  }
  .grid .g-col-sm-14 {
    grid-column: auto/span 14;
  }
  .grid .g-col-sm-15 {
    grid-column: auto/span 15;
  }
  .grid .g-col-sm-16 {
    grid-column: auto/span 16;
  }
  .grid .g-col-sm-17 {
    grid-column: auto/span 17;
  }
  .grid .g-col-sm-18 {
    grid-column: auto/span 18;
  }
  .grid .g-col-sm-19 {
    grid-column: auto/span 19;
  }
  .grid .g-col-sm-20 {
    grid-column: auto/span 20;
  }
  .grid .g-col-sm-21 {
    grid-column: auto/span 21;
  }
  .grid .g-col-sm-22 {
    grid-column: auto/span 22;
  }
  .grid .g-col-sm-23 {
    grid-column: auto/span 23;
  }
  .grid .g-col-sm-24 {
    grid-column: auto/span 24;
  }
  .grid .g-col-start-sm-1 {
    grid-column-start: 1;
  }
  .grid .g-col-start-sm-2 {
    grid-column-start: 2;
  }
  .grid .g-col-start-sm-3 {
    grid-column-start: 3;
  }
  .grid .g-col-start-sm-4 {
    grid-column-start: 4;
  }
  .grid .g-col-start-sm-5 {
    grid-column-start: 5;
  }
  .grid .g-col-start-sm-6 {
    grid-column-start: 6;
  }
  .grid .g-col-start-sm-7 {
    grid-column-start: 7;
  }
  .grid .g-col-start-sm-8 {
    grid-column-start: 8;
  }
  .grid .g-col-start-sm-9 {
    grid-column-start: 9;
  }
  .grid .g-col-start-sm-10 {
    grid-column-start: 10;
  }
  .grid .g-col-start-sm-11 {
    grid-column-start: 11;
  }
  .grid .g-col-start-sm-12 {
    grid-column-start: 12;
  }
  .grid .g-col-start-sm-13 {
    grid-column-start: 13;
  }
  .grid .g-col-start-sm-14 {
    grid-column-start: 14;
  }
  .grid .g-col-start-sm-15 {
    grid-column-start: 15;
  }
  .grid .g-col-start-sm-16 {
    grid-column-start: 16;
  }
  .grid .g-col-start-sm-17 {
    grid-column-start: 17;
  }
  .grid .g-col-start-sm-18 {
    grid-column-start: 18;
  }
  .grid .g-col-start-sm-19 {
    grid-column-start: 19;
  }
  .grid .g-col-start-sm-20 {
    grid-column-start: 20;
  }
  .grid .g-col-start-sm-21 {
    grid-column-start: 21;
  }
  .grid .g-col-start-sm-22 {
    grid-column-start: 22;
  }
  .grid .g-col-start-sm-23 {
    grid-column-start: 23;
  }

  /*占用几个 行*/
  .grid .g-row-sm-1 {
    grid-row: auto/span 1;
  }
  .grid .g-row-sm-2 {
    grid-row: auto/span 2;
  }
  .grid .g-row-sm-3 {
    grid-row: auto/span 3;
  }
  .grid .g-row-sm-4 {
    grid-row: auto/span 4;
  }
  .grid .g-row-sm-5 {
    grid-row: auto/span 5;
  }
  .grid .g-row-sm-6 {
    grid-row: auto/span 6;
  }
  .grid .g-row-sm-7 {
    grid-row: auto/span 7;
  }
  .grid .g-row-sm-8 {
    grid-row: auto/span 8;
  }
  .grid .g-row-sm-9 {
    grid-row: auto/span 9;
  }
  .grid .g-row-sm-10 {
    grid-row: auto/span 10;
  }
  .grid .g-row-sm-11 {
    grid-row: auto/span 11;
  }
  .grid .g-row-sm-12 {
    grid-row: auto/span 12;
  }
  .grid .g-row-sm-13 {
    grid-row: auto/span 13;
  }
  .grid .g-row-sm-14 {
    grid-row: auto/span 14;
  }
  .grid .g-row-sm-15 {
    grid-row: auto/span 15;
  }
  .grid .g-row-sm-16 {
    grid-row: auto/span 16;
  }
  .grid .g-row-sm-17 {
    grid-row: auto/span 17;
  }
  .grid .g-row-sm-18 {
    grid-row: auto/span 18;
  }
  .grid .g-row-sm-19 {
    grid-row: auto/span 19;
  }
  .grid .g-row-sm-20 {
    grid-row: auto/span 20;
  }
  .grid .g-row-sm-21 {
    grid-row: auto/span 21;
  }
  .grid .g-row-sm-22 {
    grid-row: auto/span 22;
  }
  .grid .g-row-sm-23 {
    grid-row: auto/span 23;
  }
  .grid .g-row-sm-24 {
    grid-row: auto/span 24;
  }
  /*从第几个开始 行*/
  .grid .g-row-start-sm-1 {
    grid-row-start: 1;
  }
  .grid .g-row-start-sm-2 {
    grid-row-start: 2;
  }
  .grid .g-row-start-sm-3 {
    grid-row-start: 3;
  }
  .grid .g-row-start-sm-4 {
    grid-row-start: 4;
  }
  .grid .g-row-start-sm-5 {
    grid-row-start: 5;
  }
  .grid .g-row-start-sm-6 {
    grid-row-start: 6;
  }
  .grid .g-row-start-sm-7 {
    grid-row-start: 7;
  }
  .grid .g-row-start-sm-8 {
    grid-row-start: 8;
  }
  .grid .g-row-start-sm-9 {
    grid-row-start: 9;
  }
  .grid .g-row-start-sm-10 {
    grid-row-start: 10;
  }
  .grid .g-row-start-sm-11 {
    grid-row-start: 11;
  }
  .grid .g-row-start-sm-12 {
    grid-row-start: 12;
  }
  .grid .g-row-start-sm-13 {
    grid-row-start: 13;
  }
  .grid .g-row-start-sm-14 {
    grid-row-start: 14;
  }
  .grid .g-row-start-sm-15 {
    grid-row-start: 15;
  }
  .grid .g-row-start-sm-16 {
    grid-row-start: 16;
  }
  .grid .g-row-start-sm-17 {
    grid-row-start: 17;
  }
  .grid .g-row-start-sm-18 {
    grid-row-start: 18;
  }
  .grid .g-row-start-sm-19 {
    grid-row-start: 19;
  }
  .grid .g-row-start-sm-20 {
    grid-row-start: 20;
  }
  .grid .g-row-start-sm-21 {
    grid-row-start: 21;
  }
  .grid .g-row-start-sm-22 {
    grid-row-start: 22;
  }
  .grid .g-row-start-sm-23 {
    grid-row-start: 23;
  }
}
@media (min-width: 768px) {
  /*几行*/
  .grid.g-rows-md-1{
    --bs-rows: 1;
  }
  .grid.g-rows-md-2{
    --bs-rows: 2;
  }
  .grid.g-rows-md-3{
    --bs-rows: 3;
  }
  .grid.g-rows-md-4{
    --bs-rows: 4;
  }
  .grid.g-rows-md-5{
    --bs-rows: 5;
  }
  .grid.g-rows-md-6{
    --bs-rows: 6;
  }
  .grid.g-rows-md-7{
    --bs-rows: 7;
  }
  .grid.g-rows-md-8{
    --bs-rows: 8;
  }
  .grid.g-rows-md-9{
    --bs-rows: 9;
  }
  .grid.g-rows-md-10{
    --bs-rows: 10;
  }
  .grid.g-rows-md-11{
    --bs-rows: 11;
  }
  .grid.g-rows-md-12{
    --bs-rows: 12;
  }
  .grid.g-rows-md-13{
    --bs-rows: 13;
  }
  .grid.g-rows-md-14{
    --bs-rows: 14;
  }
  .grid.g-rows-md-15{
    --bs-rows: 15;
  }
  .grid.g-rows-md-16{
    --bs-rows: 16;
  }
  .grid.g-rows-md-17{
    --bs-rows: 17;
  }
  .grid.g-rows-md-18{
    --bs-rows: 18;
  }
  .grid.g-rows-md-20{
    --bs-rows: 20;
  }
  .grid.g-rows-md-21{
    --bs-rows: 21;
  }
  .grid.g-rows-md-22{
    --bs-rows: 22;
  }
  .grid.g-rows-md-23{
    --bs-rows: 23;
  }
  .grid.g-rows-md-24{
    --bs-rows: 24;
  }
  /*几列*/
  .grid.g-columns-md-1{
    --bs-columns: 1;
  }
  .grid.g-columns-md-2{
    --bs-columns: 2;
  }
  .grid.g-columns-md-3{
    --bs-columns: 3;
  }
  .grid.g-columns-md-4{
    --bs-columns: 4;
  }
  .grid.g-columns-md-5{
    --bs-columns: 5;
  }
  .grid.g-columns-md-6{
    --bs-columns: 6;
  }
  .grid.g-columns-md-7{
    --bs-columns: 7;
  }
  .grid.g-columns-md-8{
    --bs-columns: 8;
  }
  .grid.g-columns-md-9{
    --bs-columns: 9;
  }
  .grid.g-columns-md-10{
    --bs-columns: 10;
  }
  .grid.g-columns-md-11{
    --bs-columns: 11;
  }
  .grid.g-columns-md-12{
    --bs-columns: 12;
  }
  .grid.g-columns-md-13{
    --bs-columns: 13;
  }
  .grid.g-columns-md-14{
    --bs-columns: 14;
  }
  .grid.g-columns-md-15{
    --bs-columns: 15;
  }
  .grid.g-columns-md-16{
    --bs-columns: 16;
  }
  .grid.g-columns-md-17{
    --bs-columns: 17;
  }
  .grid.g-columns-md-18{
    --bs-columns: 18;
  }
  .grid.g-columns-md-19{
    --bs-columns: 19;
  }
  .grid.g-columns-md-20{
    --bs-columns: 20;
  }
  .grid.g-columns-md-21{
    --bs-columns: 21;
  }
  .grid.g-columns-md-22{
    --bs-columns: 22;
  }
  .grid.g-columns-md-23{
    --bs-columns: 23;
  }
  .grid.g-columns-md-24{
    --bs-columns: 24;
  }

  .grid .g-col-md-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-md-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-md-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-md-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-md-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-md-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-md-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-md-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-md-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-md-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-md-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-md-12 {
    grid-column: auto/span 12;
  }
  .grid .g-col-md-13 {
    grid-column: auto/span 13;
  }
  .grid .g-col-md-14 {
    grid-column: auto/span 14;
  }
  .grid .g-col-md-15 {
    grid-column: auto/span 15;
  }
  .grid .g-col-md-16 {
    grid-column: auto/span 16;
  }
  .grid .g-col-md-17 {
    grid-column: auto/span 17;
  }
  .grid .g-col-md-18 {
    grid-column: auto/span 18;
  }
  .grid .g-col-md-19 {
    grid-column: auto/span 19;
  }
  .grid .g-col-md-20 {
    grid-column: auto/span 20;
  }
  .grid .g-col-md-21 {
    grid-column: auto/span 21;
  }
  .grid .g-col-md-22 {
    grid-column: auto/span 22;
  }
  .grid .g-col-md-23 {
    grid-column: auto/span 23;
  }
  .grid .g-col-md-24 {
    grid-column: auto/span 24;
  }
  .grid .g-col-start-md-1 {
    grid-column-start: 1;
  }
  .grid .g-col-start-md-2 {
    grid-column-start: 2;
  }
  .grid .g-col-start-md-3 {
    grid-column-start: 3;
  }
  .grid .g-col-start-md-4 {
    grid-column-start: 4;
  }
  .grid .g-col-start-md-5 {
    grid-column-start: 5;
  }
  .grid .g-col-start-md-6 {
    grid-column-start: 6;
  }
  .grid .g-col-start-md-7 {
    grid-column-start: 7;
  }
  .grid .g-col-start-md-8 {
    grid-column-start: 8;
  }
  .grid .g-col-start-md-9 {
    grid-column-start: 9;
  }
  .grid .g-col-start-md-10 {
    grid-column-start: 10;
  }
  .grid .g-col-start-md-11 {
    grid-column-start: 11;
  }
  .grid .g-col-start-md-12 {
    grid-column-start: 12;
  }
  .grid .g-col-start-md-13 {
    grid-column-start: 13;
  }
  .grid .g-col-start-md-14 {
    grid-column-start: 14;
  }
  .grid .g-col-start-md-15 {
    grid-column-start: 15;
  }
  .grid .g-col-start-md-16 {
    grid-column-start: 16;
  }
  .grid .g-col-start-md-17 {
    grid-column-start: 17;
  }
  .grid .g-col-start-md-18 {
    grid-column-start: 18;
  }
  .grid .g-col-start-md-19 {
    grid-column-start: 19;
  }
  .grid .g-col-start-md-20 {
    grid-column-start: 20;
  }
  .grid .g-col-start-md-21 {
    grid-column-start: 21;
  }
  .grid .g-col-start-md-22 {
    grid-column-start: 22;
  }
  .grid .g-col-start-md-23 {
    grid-column-start: 23;
  }

  /*占用几个 行*/
  .grid .g-row-md-1 {
    grid-row: auto/span 1;
  }
  .grid .g-row-md-2 {
    grid-row: auto/span 2;
  }
  .grid .g-row-md-3 {
    grid-row: auto/span 3;
  }
  .grid .g-row-md-4 {
    grid-row: auto/span 4;
  }
  .grid .g-row-md-5 {
    grid-row: auto/span 5;
  }
  .grid .g-row-md-6 {
    grid-row: auto/span 6;
  }
  .grid .g-row-md-7 {
    grid-row: auto/span 7;
  }
  .grid .g-row-md-8 {
    grid-row: auto/span 8;
  }
  .grid .g-row-md-9 {
    grid-row: auto/span 9;
  }
  .grid .g-row-md-10 {
    grid-row: auto/span 10;
  }
  .grid .g-row-md-11 {
    grid-row: auto/span 11;
  }
  .grid .g-row-md-12 {
    grid-row: auto/span 12;
  }
  .grid .g-row-md-13 {
    grid-row: auto/span 13;
  }
  .grid .g-row-md-14 {
    grid-row: auto/span 14;
  }
  .grid .g-row-md-15 {
    grid-row: auto/span 15;
  }
  .grid .g-row-md-16 {
    grid-row: auto/span 16;
  }
  .grid .g-row-md-17 {
    grid-row: auto/span 17;
  }
  .grid .g-row-md-18 {
    grid-row: auto/span 18;
  }
  .grid .g-row-md-19 {
    grid-row: auto/span 19;
  }
  .grid .g-row-md-20 {
    grid-row: auto/span 20;
  }
  .grid .g-row-md-21 {
    grid-row: auto/span 21;
  }
  .grid .g-row-md-22 {
    grid-row: auto/span 22;
  }
  .grid .g-row-md-23 {
    grid-row: auto/span 23;
  }
  .grid .g-row-md-24 {
    grid-row: auto/span 24;
  }
  /*从第几个开始 行*/
  .grid .g-row-start-md-1 {
    grid-row-start: 1;
  }
  .grid .g-row-start-md-2 {
    grid-row-start: 2;
  }
  .grid .g-row-start-md-3 {
    grid-row-start: 3;
  }
  .grid .g-row-start-md-4 {
    grid-row-start: 4;
  }
  .grid .g-row-start-md-5 {
    grid-row-start: 5;
  }
  .grid .g-row-start-md-6 {
    grid-row-start: 6;
  }
  .grid .g-row-start-md-7 {
    grid-row-start: 7;
  }
  .grid .g-row-start-md-8 {
    grid-row-start: 8;
  }
  .grid .g-row-start-md-9 {
    grid-row-start: 9;
  }
  .grid .g-row-start-md-10 {
    grid-row-start: 10;
  }
  .grid .g-row-start-md-11 {
    grid-row-start: 11;
  }
  .grid .g-row-start-md-12 {
    grid-row-start: 12;
  }
  .grid .g-row-start-md-13 {
    grid-row-start: 13;
  }
  .grid .g-row-start-md-14 {
    grid-row-start: 14;
  }
  .grid .g-row-start-md-15 {
    grid-row-start: 15;
  }
  .grid .g-row-start-md-16 {
    grid-row-start: 16;
  }
  .grid .g-row-start-md-17 {
    grid-row-start: 17;
  }
  .grid .g-row-start-md-18 {
    grid-row-start: 18;
  }
  .grid .g-row-start-md-19 {
    grid-row-start: 19;
  }
  .grid .g-row-start-md-20 {
    grid-row-start: 20;
  }
  .grid .g-row-start-md-21 {
    grid-row-start: 21;
  }
  .grid .g-row-start-md-22 {
    grid-row-start: 22;
  }
  .grid .g-row-start-md-23 {
    grid-row-start: 23;
  }
}
@media (min-width: 992px) {
  /*几行*/
  .grid.g-rows-lg-1{
    --bs-rows: 1;
  }
  .grid.g-rows-lg-2{
    --bs-rows: 2;
  }
  .grid.g-rows-lg-3{
    --bs-rows: 3;
  }
  .grid.g-rows-lg-4{
    --bs-rows: 4;
  }
  .grid.g-rows-lg-5{
    --bs-rows: 5;
  }
  .grid.g-rows-lg-6{
    --bs-rows: 6;
  }
  .grid.g-rows-lg-7{
    --bs-rows: 7;
  }
  .grid.g-rows-lg-8{
    --bs-rows: 8;
  }
  .grid.g-rows-lg-9{
    --bs-rows: 9;
  }
  .grid.g-rows-lg-10{
    --bs-rows: 10;
  }
  .grid.g-rows-lg-11{
    --bs-rows: 11;
  }
  .grid.g-rows-lg-12{
    --bs-rows: 12;
  }
  .grid.g-rows-lg-13{
    --bs-rows: 13;
  }
  .grid.g-rows-lg-14{
    --bs-rows: 14;
  }
  .grid.g-rows-lg-15{
    --bs-rows: 15;
  }
  .grid.g-rows-lg-16{
    --bs-rows: 16;
  }
  .grid.g-rows-lg-17{
    --bs-rows: 17;
  }
  .grid.g-rows-lg-18{
    --bs-rows: 18;
  }
  .grid.g-rows-lg-20{
    --bs-rows: 20;
  }
  .grid.g-rows-lg-21{
    --bs-rows: 21;
  }
  .grid.g-rows-lg-22{
    --bs-rows: 22;
  }
  .grid.g-rows-lg-23{
    --bs-rows: 23;
  }
  .grid.g-rows-lg-24{
    --bs-rows: 24;
  }
  /*几列*/
  .grid.g-columns-lg-1{
    --bs-columns: 1;
  }
  .grid.g-columns-lg-2{
    --bs-columns: 2;
  }
  .grid.g-columns-lg-3{
    --bs-columns: 3;
  }
  .grid.g-columns-lg-4{
    --bs-columns: 4;
  }
  .grid.g-columns-lg-5{
    --bs-columns: 5;
  }
  .grid.g-columns-lg-6{
    --bs-columns: 6;
  }
  .grid.g-columns-lg-7{
    --bs-columns: 7;
  }
  .grid.g-columns-lg-8{
    --bs-columns: 8;
  }
  .grid.g-columns-lg-9{
    --bs-columns: 9;
  }
  .grid.g-columns-lg-10{
    --bs-columns: 10;
  }
  .grid.g-columns-lg-11{
    --bs-columns: 11;
  }
  .grid.g-columns-lg-12{
    --bs-columns: 12;
  }
  .grid.g-columns-lg-13{
    --bs-columns: 13;
  }
  .grid.g-columns-lg-14{
    --bs-columns: 14;
  }
  .grid.g-columns-lg-15{
    --bs-columns: 15;
  }
  .grid.g-columns-lg-16{
    --bs-columns: 16;
  }
  .grid.g-columns-lg-17{
    --bs-columns: 17;
  }
  .grid.g-columns-lg-18{
    --bs-columns: 18;
  }
  .grid.g-columns-lg-19{
    --bs-columns: 19;
  }
  .grid.g-columns-lg-20{
    --bs-columns: 20;
  }
  .grid.g-columns-lg-21{
    --bs-columns: 21;
  }
  .grid.g-columns-lg-22{
    --bs-columns: 22;
  }
  .grid.g-columns-lg-23{
    --bs-columns: 23;
  }
  .grid.g-columns-lg-24{
    --bs-columns: 24;
  }

  .grid .g-col-lg-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-lg-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-lg-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-lg-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-lg-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-lg-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-lg-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-lg-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-lg-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-lg-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-lg-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-lg-12 {
    grid-column: auto/span 12;
  }
  .grid .g-col-lg-13 {
    grid-column: auto/span 13;
  }
  .grid .g-col-lg-14 {
    grid-column: auto/span 14;
  }
  .grid .g-col-lg-15 {
    grid-column: auto/span 15;
  }
  .grid .g-col-lg-16 {
    grid-column: auto/span 16;
  }
  .grid .g-col-lg-17 {
    grid-column: auto/span 17;
  }
  .grid .g-col-lg-18 {
    grid-column: auto/span 18;
  }
  .grid .g-col-lg-19 {
    grid-column: auto/span 19;
  }
  .grid .g-col-lg-20 {
    grid-column: auto/span 20;
  }
  .grid .g-col-lg-21 {
    grid-column: auto/span 21;
  }
  .grid .g-col-lg-22 {
    grid-column: auto/span 22;
  }
  .grid .g-col-lg-23 {
    grid-column: auto/span 23;
  }
  .grid .g-col-lg-24 {
    grid-column: auto/span 24;
  }
  .grid .g-col-start-lg-1 {
    grid-column-start: 1;
  }
  .grid .g-col-start-lg-2 {
    grid-column-start: 2;
  }
  .grid .g-col-start-lg-3 {
    grid-column-start: 3;
  }
  .grid .g-col-start-lg-4 {
    grid-column-start: 4;
  }
  .grid .g-col-start-lg-5 {
    grid-column-start: 5;
  }
  .grid .g-col-start-lg-6 {
    grid-column-start: 6;
  }
  .grid .g-col-start-lg-7 {
    grid-column-start: 7;
  }
  .grid .g-col-start-lg-8 {
    grid-column-start: 8;
  }
  .grid .g-col-start-lg-9 {
    grid-column-start: 9;
  }
  .grid .g-col-start-lg-10 {
    grid-column-start: 10;
  }
  .grid .g-col-start-lg-11 {
    grid-column-start: 11;
  }
  .grid .g-col-start-lg-12 {
    grid-column-start: 12;
  }
  .grid .g-col-start-lg-13 {
    grid-column-start: 13;
  }
  .grid .g-col-start-lg-14 {
    grid-column-start: 14;
  }
  .grid .g-col-start-lg-15 {
    grid-column-start: 15;
  }
  .grid .g-col-start-lg-16 {
    grid-column-start: 16;
  }
  .grid .g-col-start-lg-17 {
    grid-column-start: 17;
  }
  .grid .g-col-start-lg-18 {
    grid-column-start: 18;
  }
  .grid .g-col-start-lg-19 {
    grid-column-start: 19;
  }
  .grid .g-col-start-lg-20 {
    grid-column-start: 20;
  }
  .grid .g-col-start-lg-21 {
    grid-column-start: 21;
  }
  .grid .g-col-start-lg-22 {
    grid-column-start: 22;
  }
  .grid .g-col-start-lg-23 {
    grid-column-start: 23;
  }

  /*占用几个 行*/
  .grid .g-row-lg-1 {
    grid-row: auto/span 1;
  }
  .grid .g-row-lg-2 {
    grid-row: auto/span 2;
  }
  .grid .g-row-lg-3 {
    grid-row: auto/span 3;
  }
  .grid .g-row-lg-4 {
    grid-row: auto/span 4;
  }
  .grid .g-row-lg-5 {
    grid-row: auto/span 5;
  }
  .grid .g-row-lg-6 {
    grid-row: auto/span 6;
  }
  .grid .g-row-lg-7 {
    grid-row: auto/span 7;
  }
  .grid .g-row-lg-8 {
    grid-row: auto/span 8;
  }
  .grid .g-row-lg-9 {
    grid-row: auto/span 9;
  }
  .grid .g-row-lg-10 {
    grid-row: auto/span 10;
  }
  .grid .g-row-lg-11 {
    grid-row: auto/span 11;
  }
  .grid .g-row-lg-12 {
    grid-row: auto/span 12;
  }
  .grid .g-row-lg-13 {
    grid-row: auto/span 13;
  }
  .grid .g-row-lg-14 {
    grid-row: auto/span 14;
  }
  .grid .g-row-lg-15 {
    grid-row: auto/span 15;
  }
  .grid .g-row-lg-16 {
    grid-row: auto/span 16;
  }
  .grid .g-row-lg-17 {
    grid-row: auto/span 17;
  }
  .grid .g-row-lg-18 {
    grid-row: auto/span 18;
  }
  .grid .g-row-lg-19 {
    grid-row: auto/span 19;
  }
  .grid .g-row-lg-20 {
    grid-row: auto/span 20;
  }
  .grid .g-row-lg-21 {
    grid-row: auto/span 21;
  }
  .grid .g-row-lg-22 {
    grid-row: auto/span 22;
  }
  .grid .g-row-lg-23 {
    grid-row: auto/span 23;
  }
  .grid .g-row-lg-24 {
    grid-row: auto/span 24;
  }
  /*从第几个开始 行*/
  .grid .g-row-start-lg-1 {
    grid-row-start: 1;
  }
  .grid .g-row-start-lg-2 {
    grid-row-start: 2;
  }
  .grid .g-row-start-lg-3 {
    grid-row-start: 3;
  }
  .grid .g-row-start-lg-4 {
    grid-row-start: 4;
  }
  .grid .g-row-start-lg-5 {
    grid-row-start: 5;
  }
  .grid .g-row-start-lg-6 {
    grid-row-start: 6;
  }
  .grid .g-row-start-lg-7 {
    grid-row-start: 7;
  }
  .grid .g-row-start-lg-8 {
    grid-row-start: 8;
  }
  .grid .g-row-start-lg-9 {
    grid-row-start: 9;
  }
  .grid .g-row-start-lg-10 {
    grid-row-start: 10;
  }
  .grid .g-row-start-lg-11 {
    grid-row-start: 11;
  }
  .grid .g-row-start-lg-12 {
    grid-row-start: 12;
  }
  .grid .g-row-start-lg-13 {
    grid-row-start: 13;
  }
  .grid .g-row-start-lg-14 {
    grid-row-start: 14;
  }
  .grid .g-row-start-lg-15 {
    grid-row-start: 15;
  }
  .grid .g-row-start-lg-16 {
    grid-row-start: 16;
  }
  .grid .g-row-start-lg-17 {
    grid-row-start: 17;
  }
  .grid .g-row-start-lg-18 {
    grid-row-start: 18;
  }
  .grid .g-row-start-lg-19 {
    grid-row-start: 19;
  }
  .grid .g-row-start-lg-20 {
    grid-row-start: 20;
  }
  .grid .g-row-start-lg-21 {
    grid-row-start: 21;
  }
  .grid .g-row-start-lg-22 {
    grid-row-start: 22;
  }
  .grid .g-row-start-lg-23 {
    grid-row-start: 23;
  }
}
@media (min-width: 1200px) {
  /*几行*/
  .grid.g-rows-xl-1{
    --bs-rows: 1;
  }
  .grid.g-rows-xl-2{
    --bs-rows: 2;
  }
  .grid.g-rows-xl-3{
    --bs-rows: 3;
  }
  .grid.g-rows-xl-4{
    --bs-rows: 4;
  }
  .grid.g-rows-xl-5{
    --bs-rows: 5;
  }
  .grid.g-rows-xl-6{
    --bs-rows: 6;
  }
  .grid.g-rows-xl-7{
    --bs-rows: 7;
  }
  .grid.g-rows-xl-8{
    --bs-rows: 8;
  }
  .grid.g-rows-xl-9{
    --bs-rows: 9;
  }
  .grid.g-rows-xl-10{
    --bs-rows: 10;
  }
  .grid.g-rows-xl-11{
    --bs-rows: 11;
  }
  .grid.g-rows-xl-12{
    --bs-rows: 12;
  }
  .grid.g-rows-xl-13{
    --bs-rows: 13;
  }
  .grid.g-rows-xl-14{
    --bs-rows: 14;
  }
  .grid.g-rows-xl-15{
    --bs-rows: 15;
  }
  .grid.g-rows-xl-16{
    --bs-rows: 16;
  }
  .grid.g-rows-xl-17{
    --bs-rows: 17;
  }
  .grid.g-rows-xl-18{
    --bs-rows: 18;
  }
  .grid.g-rows-xl-20{
    --bs-rows: 20;
  }
  .grid.g-rows-xl-21{
    --bs-rows: 21;
  }
  .grid.g-rows-xl-22{
    --bs-rows: 22;
  }
  .grid.g-rows-xl-23{
    --bs-rows: 23;
  }
  .grid.g-rows-xl-24{
    --bs-rows: 24;
  }
  /*几列*/
  .grid.g-columns-xl-1{
    --bs-columns: 1;
  }
  .grid.g-columns-xl-2{
    --bs-columns: 2;
  }
  .grid.g-columns-xl-3{
    --bs-columns: 3;
  }
  .grid.g-columns-xl-4{
    --bs-columns: 4;
  }
  .grid.g-columns-xl-5{
    --bs-columns: 5;
  }
  .grid.g-columns-xl-6{
    --bs-columns: 6;
  }
  .grid.g-columns-xl-7{
    --bs-columns: 7;
  }
  .grid.g-columns-xl-8{
    --bs-columns: 8;
  }
  .grid.g-columns-xl-9{
    --bs-columns: 9;
  }
  .grid.g-columns-xl-10{
    --bs-columns: 10;
  }
  .grid.g-columns-xl-11{
    --bs-columns: 11;
  }
  .grid.g-columns-xl-12{
    --bs-columns: 12;
  }
  .grid.g-columns-xl-13{
    --bs-columns: 13;
  }
  .grid.g-columns-xl-14{
    --bs-columns: 14;
  }
  .grid.g-columns-xl-15{
    --bs-columns: 15;
  }
  .grid.g-columns-xl-16{
    --bs-columns: 16;
  }
  .grid.g-columns-xl-17{
    --bs-columns: 17;
  }
  .grid.g-columns-xl-18{
    --bs-columns: 18;
  }
  .grid.g-columns-xl-19{
    --bs-columns: 19;
  }
  .grid.g-columns-xl-20{
    --bs-columns: 20;
  }
  .grid.g-columns-xl-21{
    --bs-columns: 21;
  }
  .grid.g-columns-xl-22{
    --bs-columns: 22;
  }
  .grid.g-columns-xl-23{
    --bs-columns: 23;
  }
  .grid.g-columns-xl-24{
    --bs-columns: 24;
  }

  .grid .g-col-xl-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-xl-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-xl-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-xl-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-xl-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-xl-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-xl-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-xl-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-xl-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-xl-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-xl-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-xl-12 {
    grid-column: auto/span 12;
  }
  .grid .g-col-xl-13 {
    grid-column: auto/span 13;
  }
  .grid .g-col-xl-14 {
    grid-column: auto/span 14;
  }
  .grid .g-col-xl-15 {
    grid-column: auto/span 15;
  }
  .grid .g-col-xl-16 {
    grid-column: auto/span 16;
  }
  .grid .g-col-xl-17 {
    grid-column: auto/span 17;
  }
  .grid .g-col-xl-18 {
    grid-column: auto/span 18;
  }
  .grid .g-col-xl-19 {
    grid-column: auto/span 19;
  }
  .grid .g-col-xl-20 {
    grid-column: auto/span 20;
  }
  .grid .g-col-xl-21 {
    grid-column: auto/span 21;
  }
  .grid .g-col-xl-22 {
    grid-column: auto/span 22;
  }
  .grid .g-col-xl-23 {
    grid-column: auto/span 23;
  }
  .grid .g-col-xl-24 {
    grid-column: auto/span 24;
  }
  .grid .g-col-start-xl-1 {
    grid-column-start: 1;
  }
  .grid .g-col-start-xl-2 {
    grid-column-start: 2;
  }
  .grid .g-col-start-xl-3 {
    grid-column-start: 3;
  }
  .grid .g-col-start-xl-4 {
    grid-column-start: 4;
  }
  .grid .g-col-start-xl-5 {
    grid-column-start: 5;
  }
  .grid .g-col-start-xl-6 {
    grid-column-start: 6;
  }
  .grid .g-col-start-xl-7 {
    grid-column-start: 7;
  }
  .grid .g-col-start-xl-8 {
    grid-column-start: 8;
  }
  .grid .g-col-start-xl-9 {
    grid-column-start: 9;
  }
  .grid .g-col-start-xl-10 {
    grid-column-start: 10;
  }
  .grid .g-col-start-xl-11 {
    grid-column-start: 11;
  }
  .grid .g-col-start-xl-12 {
    grid-column-start: 12;
  }
  .grid .g-col-start-xl-13 {
    grid-column-start: 13;
  }
  .grid .g-col-start-xl-14 {
    grid-column-start: 14;
  }
  .grid .g-col-start-xl-15 {
    grid-column-start: 15;
  }
  .grid .g-col-start-xl-16 {
    grid-column-start: 16;
  }
  .grid .g-col-start-xl-17 {
    grid-column-start: 17;
  }
  .grid .g-col-start-xl-18 {
    grid-column-start: 18;
  }
  .grid .g-col-start-xl-19 {
    grid-column-start: 19;
  }
  .grid .g-col-start-xl-20 {
    grid-column-start: 20;
  }
  .grid .g-col-start-xl-21 {
    grid-column-start: 21;
  }
  .grid .g-col-start-xl-22 {
    grid-column-start: 22;
  }
  .grid .g-col-start-xl-23 {
    grid-column-start: 23;
  }

  /*占用几个 行*/
  .grid .g-row-xl-1 {
    grid-row: auto/span 1;
  }
  .grid .g-row-xl-2 {
    grid-row: auto/span 2;
  }
  .grid .g-row-xl-3 {
    grid-row: auto/span 3;
  }
  .grid .g-row-xl-4 {
    grid-row: auto/span 4;
  }
  .grid .g-row-xl-5 {
    grid-row: auto/span 5;
  }
  .grid .g-row-xl-6 {
    grid-row: auto/span 6;
  }
  .grid .g-row-xl-7 {
    grid-row: auto/span 7;
  }
  .grid .g-row-xl-8 {
    grid-row: auto/span 8;
  }
  .grid .g-row-xl-9 {
    grid-row: auto/span 9;
  }
  .grid .g-row-xl-10 {
    grid-row: auto/span 10;
  }
  .grid .g-row-xl-11 {
    grid-row: auto/span 11;
  }
  .grid .g-row-xl-12 {
    grid-row: auto/span 12;
  }
  .grid .g-row-xl-13 {
    grid-row: auto/span 13;
  }
  .grid .g-row-xl-14 {
    grid-row: auto/span 14;
  }
  .grid .g-row-xl-15 {
    grid-row: auto/span 15;
  }
  .grid .g-row-xl-16 {
    grid-row: auto/span 16;
  }
  .grid .g-row-xl-17 {
    grid-row: auto/span 17;
  }
  .grid .g-row-xl-18 {
    grid-row: auto/span 18;
  }
  .grid .g-row-xl-19 {
    grid-row: auto/span 19;
  }
  .grid .g-row-xl-20 {
    grid-row: auto/span 20;
  }
  .grid .g-row-xl-21 {
    grid-row: auto/span 21;
  }
  .grid .g-row-xl-22 {
    grid-row: auto/span 22;
  }
  .grid .g-row-xl-23 {
    grid-row: auto/span 23;
  }
  .grid .g-row-xl-24 {
    grid-row: auto/span 24;
  }
  /*从第几个开始 行*/
  .grid .g-row-start-xl-1 {
    grid-row-start: 1;
  }
  .grid .g-row-start-xl-2 {
    grid-row-start: 2;
  }
  .grid .g-row-start-xl-3 {
    grid-row-start: 3;
  }
  .grid .g-row-start-xl-4 {
    grid-row-start: 4;
  }
  .grid .g-row-start-xl-5 {
    grid-row-start: 5;
  }
  .grid .g-row-start-xl-6 {
    grid-row-start: 6;
  }
  .grid .g-row-start-xl-7 {
    grid-row-start: 7;
  }
  .grid .g-row-start-xl-8 {
    grid-row-start: 8;
  }
  .grid .g-row-start-xl-9 {
    grid-row-start: 9;
  }
  .grid .g-row-start-xl-10 {
    grid-row-start: 10;
  }
  .grid .g-row-start-xl-11 {
    grid-row-start: 11;
  }
  .grid .g-row-start-xl-12 {
    grid-row-start: 12;
  }
  .grid .g-row-start-xl-13 {
    grid-row-start: 13;
  }
  .grid .g-row-start-xl-14 {
    grid-row-start: 14;
  }
  .grid .g-row-start-xl-15 {
    grid-row-start: 15;
  }
  .grid .g-row-start-xl-16 {
    grid-row-start: 16;
  }
  .grid .g-row-start-xl-17 {
    grid-row-start: 17;
  }
  .grid .g-row-start-xl-18 {
    grid-row-start: 18;
  }
  .grid .g-row-start-xl-19 {
    grid-row-start: 19;
  }
  .grid .g-row-start-xl-20 {
    grid-row-start: 20;
  }
  .grid .g-row-start-xl-21 {
    grid-row-start: 21;
  }
  .grid .g-row-start-xl-22 {
    grid-row-start: 22;
  }
  .grid .g-row-start-xl-23 {
    grid-row-start: 23;
  }
}
@media (min-width: 1400px) {
  /*几行*/
  .grid.g-rows-xxl-1{
    --bs-rows: 1;
  }
  .grid.g-rows-xxl-2{
    --bs-rows: 2;
  }
  .grid.g-rows-xxl-3{
    --bs-rows: 3;
  }
  .grid.g-rows-xxl-4{
    --bs-rows: 4;
  }
  .grid.g-rows-xxl-5{
    --bs-rows: 5;
  }
  .grid.g-rows-xxl-6{
    --bs-rows: 6;
  }
  .grid.g-rows-xxl-7{
    --bs-rows: 7;
  }
  .grid.g-rows-xxl-8{
    --bs-rows: 8;
  }
  .grid.g-rows-xxl-9{
    --bs-rows: 9;
  }
  .grid.g-rows-xxl-10{
    --bs-rows: 10;
  }
  .grid.g-rows-xxl-11{
    --bs-rows: 11;
  }
  .grid.g-rows-xxl-12{
    --bs-rows: 12;
  }
  .grid.g-rows-xxl-13{
    --bs-rows: 13;
  }
  .grid.g-rows-xxl-14{
    --bs-rows: 14;
  }
  .grid.g-rows-xxl-15{
    --bs-rows: 15;
  }
  .grid.g-rows-xxl-16{
    --bs-rows: 16;
  }
  .grid.g-rows-xxl-17{
    --bs-rows: 17;
  }
  .grid.g-rows-xxl-18{
    --bs-rows: 18;
  }
  .grid.g-rows-xxl-20{
    --bs-rows: 20;
  }
  .grid.g-rows-xxl-21{
    --bs-rows: 21;
  }
  .grid.g-rows-xxl-22{
    --bs-rows: 22;
  }
  .grid.g-rows-xxl-23{
    --bs-rows: 23;
  }
  .grid.g-rows-xxl-24{
    --bs-rows: 24;
  }
  /*几列*/
  .grid.g-columns-xxl-1{
    --bs-columns: 1;
  }
  .grid.g-columns-xxl-2{
    --bs-columns: 2;
  }
  .grid.g-columns-xxl-3{
    --bs-columns: 3;
  }
  .grid.g-columns-xxl-4{
    --bs-columns: 4;
  }
  .grid.g-columns-xxl-5{
    --bs-columns: 5;
  }
  .grid.g-columns-xxl-6{
    --bs-columns: 6;
  }
  .grid.g-columns-xxl-7{
    --bs-columns: 7;
  }
  .grid.g-columns-xxl-8{
    --bs-columns: 8;
  }
  .grid.g-columns-xxl-9{
    --bs-columns: 9;
  }
  .grid.g-columns-xxl-10{
    --bs-columns: 10;
  }
  .grid.g-columns-xxl-11{
    --bs-columns: 11;
  }
  .grid.g-columns-xxl-12{
    --bs-columns: 12;
  }
  .grid.g-columns-xxl-13{
    --bs-columns: 13;
  }
  .grid.g-columns-xxl-14{
    --bs-columns: 14;
  }
  .grid.g-columns-xxl-15{
    --bs-columns: 15;
  }
  .grid.g-columns-xxl-16{
    --bs-columns: 16;
  }
  .grid.g-columns-xxl-17{
    --bs-columns: 17;
  }
  .grid.g-columns-xxl-18{
    --bs-columns: 18;
  }
  .grid.g-columns-xxl-19{
    --bs-columns: 19;
  }
  .grid.g-columns-xxl-20{
    --bs-columns: 20;
  }
  .grid.g-columns-xxl-21{
    --bs-columns: 21;
  }
  .grid.g-columns-xxl-22{
    --bs-columns: 22;
  }
  .grid.g-columns-xxl-23{
    --bs-columns: 23;
  }
  .grid.g-columns-xxl-24{
    --bs-columns: 24;
  }

  .grid .g-col-xxl-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-xxl-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-xxl-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-xxl-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-xxl-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-xxl-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-xxl-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-xxl-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-xxl-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-xxl-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-xxl-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-xxl-12 {
    grid-column: auto/span 12;
  }
  .grid .g-col-xxl-13 {
    grid-column: auto/span 13;
  }
  .grid .g-col-xxl-14 {
    grid-column: auto/span 14;
  }
  .grid .g-col-xxl-15 {
    grid-column: auto/span 15;
  }
  .grid .g-col-xxl-16 {
    grid-column: auto/span 16;
  }
  .grid .g-col-xxl-17 {
    grid-column: auto/span 17;
  }
  .grid .g-col-xxl-18 {
    grid-column: auto/span 18;
  }
  .grid .g-col-xxl-19 {
    grid-column: auto/span 19;
  }
  .grid .g-col-xxl-20 {
    grid-column: auto/span 20;
  }
  .grid .g-col-xxl-21 {
    grid-column: auto/span 21;
  }
  .grid .g-col-xxl-22 {
    grid-column: auto/span 22;
  }
  .grid .g-col-xxl-23 {
    grid-column: auto/span 23;
  }
  .grid .g-col-xxl-24 {
    grid-column: auto/span 24;
  }
  .grid .g-col-start-xxl-1 {
    grid-column-start: 1;
  }
  .grid .g-col-start-xxl-2 {
    grid-column-start: 2;
  }
  .grid .g-col-start-xxl-3 {
    grid-column-start: 3;
  }
  .grid .g-col-start-xxl-4 {
    grid-column-start: 4;
  }
  .grid .g-col-start-xxl-5 {
    grid-column-start: 5;
  }
  .grid .g-col-start-xxl-6 {
    grid-column-start: 6;
  }
  .grid .g-col-start-xxl-7 {
    grid-column-start: 7;
  }
  .grid .g-col-start-xxl-8 {
    grid-column-start: 8;
  }
  .grid .g-col-start-xxl-9 {
    grid-column-start: 9;
  }
  .grid .g-col-start-xxl-10 {
    grid-column-start: 10;
  }
  .grid .g-col-start-xxl-11 {
    grid-column-start: 11;
  }
  .grid .g-col-start-xxl-12 {
    grid-column-start: 12;
  }
  .grid .g-col-start-xxl-13 {
    grid-column-start: 13;
  }
  .grid .g-col-start-xxl-14 {
    grid-column-start: 14;
  }
  .grid .g-col-start-xxl-15 {
    grid-column-start: 15;
  }
  .grid .g-col-start-xxl-16 {
    grid-column-start: 16;
  }
  .grid .g-col-start-xxl-17 {
    grid-column-start: 17;
  }
  .grid .g-col-start-xxl-18 {
    grid-column-start: 18;
  }
  .grid .g-col-start-xxl-19 {
    grid-column-start: 19;
  }
  .grid .g-col-start-xxl-20 {
    grid-column-start: 20;
  }
  .grid .g-col-start-xxl-21 {
    grid-column-start: 21;
  }
  .grid .g-col-start-xxl-22 {
    grid-column-start: 22;
  }
  .grid .g-col-start-xxl-23 {
    grid-column-start: 23;
  }

  /*占用几个 行*/
  .grid .g-row-xxl-1 {
    grid-row: auto/span 1;
  }
  .grid .g-row-xxl-2 {
    grid-row: auto/span 2;
  }
  .grid .g-row-xxl-3 {
    grid-row: auto/span 3;
  }
  .grid .g-row-xxl-4 {
    grid-row: auto/span 4;
  }
  .grid .g-row-xxl-5 {
    grid-row: auto/span 5;
  }
  .grid .g-row-xxl-6 {
    grid-row: auto/span 6;
  }
  .grid .g-row-xxl-7 {
    grid-row: auto/span 7;
  }
  .grid .g-row-xxl-8 {
    grid-row: auto/span 8;
  }
  .grid .g-row-xxl-9 {
    grid-row: auto/span 9;
  }
  .grid .g-row-xxl-10 {
    grid-row: auto/span 10;
  }
  .grid .g-row-xxl-11 {
    grid-row: auto/span 11;
  }
  .grid .g-row-xxl-12 {
    grid-row: auto/span 12;
  }
  .grid .g-row-xxl-13 {
    grid-row: auto/span 13;
  }
  .grid .g-row-xxl-14 {
    grid-row: auto/span 14;
  }
  .grid .g-row-xxl-15 {
    grid-row: auto/span 15;
  }
  .grid .g-row-xxl-16 {
    grid-row: auto/span 16;
  }
  .grid .g-row-xxl-17 {
    grid-row: auto/span 17;
  }
  .grid .g-row-xxl-18 {
    grid-row: auto/span 18;
  }
  .grid .g-row-xxl-19 {
    grid-row: auto/span 19;
  }
  .grid .g-row-xxl-20 {
    grid-row: auto/span 20;
  }
  .grid .g-row-xxl-21 {
    grid-row: auto/span 21;
  }
  .grid .g-row-xxl-22 {
    grid-row: auto/span 22;
  }
  .grid .g-row-xxl-23 {
    grid-row: auto/span 23;
  }
  .grid .g-row-xxl-24 {
    grid-row: auto/span 24;
  }
  /*从第几个开始 行*/
  .grid .g-row-start-xxl-1 {
    grid-row-start: 1;
  }
  .grid .g-row-start-xxl-2 {
    grid-row-start: 2;
  }
  .grid .g-row-start-xxl-3 {
    grid-row-start: 3;
  }
  .grid .g-row-start-xxl-4 {
    grid-row-start: 4;
  }
  .grid .g-row-start-xxl-5 {
    grid-row-start: 5;
  }
  .grid .g-row-start-xxl-6 {
    grid-row-start: 6;
  }
  .grid .g-row-start-xxl-7 {
    grid-row-start: 7;
  }
  .grid .g-row-start-xxl-8 {
    grid-row-start: 8;
  }
  .grid .g-row-start-xxl-9 {
    grid-row-start: 9;
  }
  .grid .g-row-start-xxl-10 {
    grid-row-start: 10;
  }
  .grid .g-row-start-xxl-11 {
    grid-row-start: 11;
  }
  .grid .g-row-start-xxl-12 {
    grid-row-start: 12;
  }
  .grid .g-row-start-xxl-13 {
    grid-row-start: 13;
  }
  .grid .g-row-start-xxl-14 {
    grid-row-start: 14;
  }
  .grid .g-row-start-xxl-15 {
    grid-row-start: 15;
  }
  .grid .g-row-start-xxl-16 {
    grid-row-start: 16;
  }
  .grid .g-row-start-xxl-17 {
    grid-row-start: 17;
  }
  .grid .g-row-start-xxl-18 {
    grid-row-start: 18;
  }
  .grid .g-row-start-xxl-19 {
    grid-row-start: 19;
  }
  .grid .g-row-start-xxl-20 {
    grid-row-start: 20;
  }
  .grid .g-row-start-xxl-21 {
    grid-row-start: 21;
  }
  .grid .g-row-start-xxl-22 {
    grid-row-start: 22;
  }
  .grid .g-row-start-xxl-23 {
    grid-row-start: 23;
  }
}
/*grid布局end*/






/*百分比布局start*/
.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.6666666667%;
}

.row-cols-7 > * {
  flex: 0 0 auto;
  width: 14.2857142857%;
}

.row-cols-8 > * {
  flex: 0 0 auto;
  width: 12.5%;
}

.row-cols-9 > * {
  flex: 0 0 auto;
  width: 11.1111111111%;
}

.row-cols-10 > * {
  flex: 0 0 auto;
  width: 10%;
}

.row-cols-11 > * {
  flex: 0 0 auto;
  width: 9.0909090909%;
}

.row-cols-12 > * {
  flex: 0 0 auto;
  width: 8.3333333333%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 4.16666667%;
}

.col-2 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-3 {
  flex: 0 0 auto;
  width: 12.5%;
}

.col-4 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-5 {
  flex: 0 0 auto;
  width: 20.83333333%;
}

.col-6 {
  flex: 0 0 auto;
  width: 25%;
}

.col-7 {
  flex: 0 0 auto;
  width: 29.16666667%;
}

.col-8 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-9 {
  flex: 0 0 auto;
  width: 37.5%;
}

.col-10 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-11 {
  flex: 0 0 auto;
  width: 45.83333333%;
}

.col-12 {
  flex: 0 0 auto;
  width: 50%;
}

.col-13 {
  flex: 0 0 auto;
  width: 54.16666667%;
}

.col-14 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-15 {
  flex: 0 0 auto;
  width: 62.5%;
}

.col-16 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-17 {
  flex: 0 0 auto;
  width: 70.83333333%;
}

.col-18 {
  flex: 0 0 auto;
  width: 75%;
}

.col-19 {
  flex: 0 0 auto;
  width: 79.16666667%;
}

.col-20 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-21 {
  flex: 0 0 auto;
  width: 87.5%;
}

.col-22 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-23 {
  flex: 0 0 auto;
  width: 95.83333333%;
}

.col-24 {
  flex: 0 0 auto;
  width: 100%;
}

/*前面站几格*/
.offset-1 {
  margin-left: 4.16666667%;
}

.offset-2 {
  margin-left: 8.33333333%;
}

.offset-3 {
  margin-left: 12.5%;
}

.offset-4 {
  margin-left: 16.66666667%;
}

.offset-5 {
  margin-left: 20.83333333%;
}

.offset-6 {
  margin-left: 25%;
}

.offset-7 {
  margin-left: 29.16666667%;
}

.offset-8 {
  margin-left: 33.33333333%;
}

.offset-9 {
  margin-left: 37.5%;
}

.offset-10 {
  margin-left: 41.66666667%;
}

.offset-11 {
  margin-left: 45.83333333%;
}

.offset-12 {
  margin-left: 50%;
}

.offset-13 {
  margin-left: 54.16666667%;
}

.offset-14 {
  margin-left: 58.33333333%;
}

.offset-15 {
  margin-left: 62.5%;
}

.offset-16 {
  margin-left: 66.66666667%;
}

.offset-17 {
  margin-left: 70.83333333%;
}

.offset-18 {
  margin-left: 75%;
}

.offset-19 {
  margin-left: 79.16666667%;
}

.offset-20 {
  margin-left: 83.33333333%;
}

.offset-21 {
  margin-left: 87.5%;
}

.offset-22 {
  margin-left: 91.66666667%;
}

.offset-23 {
  margin-left: 95.83333333%;
}
/*边距start*/
.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.1rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.1rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.15rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.15rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 0.25rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 0.25rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 0.35rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 0.35rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 0.5rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 0.5rem;
}
/*边距end*/
@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .row-cols-sm-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .row-cols-sm-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .row-cols-sm-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .row-cols-sm-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .row-cols-sm-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .row-cols-sm-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .col-sm-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .col-sm-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .col-sm-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .col-sm-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .col-sm-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .col-sm-24 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 4.16666667%;
  }
  .offset-sm-2 {
    margin-left: 8.33333333%;
  }
  .offset-sm-3 {
    margin-left: 12.5%;
  }
  .offset-sm-4 {
    margin-left: 16.66666667%;
  }
  .offset-sm-5 {
    margin-left: 20.83333333%;
  }
  .offset-sm-6 {
    margin-left: 25%;
  }
  .offset-sm-7 {
    margin-left: 29.16666667%;
  }
  .offset-sm-8 {
    margin-left: 33.33333333%;
  }
  .offset-sm-9 {
    margin-left: 37.5%;
  }
  .offset-sm-10 {
    margin-left: 41.66666667%;
  }
  .offset-sm-11 {
    margin-left: 45.83333333%;
  }
  .offset-sm-12 {
    margin-left: 50%;
  }
  .offset-sm-13 {
    margin-left: 54.16666667%;
  }
  .offset-sm-14 {
    margin-left: 58.33333333%;
  }
  .offset-sm-15 {
    margin-left: 62.5%;
  }
  .offset-sm-16 {
    margin-left: 66.66666667%;
  }
  .offset-sm-17 {
    margin-left: 70.83333333%;
  }
  .offset-sm-18 {
    margin-left: 75%;
  }
  .offset-sm-19 {
    margin-left: 79.16666667%;
  }
  .offset-sm-20 {
    margin-left: 83.33333333%;
  }
  .offset-sm-21 {
    margin-left: 87.5%;
  }
  .offset-sm-22 {
    margin-left: 91.66666667%;
  }
  .offset-sm-23 {
    margin-left: 95.83333333%;
  }
  .g-sm-0,
.gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
.gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
.gx-sm-1 {
    --bs-gutter-x: 0.1rem;
  }
  .g-sm-1,
.gy-sm-1 {
    --bs-gutter-y: 0.1rem;
  }
  .g-sm-2,
.gx-sm-2 {
    --bs-gutter-x: 0.15rem;
  }
  .g-sm-2,
.gy-sm-2 {
    --bs-gutter-y: 0.15rem;
  }
  .g-sm-3,
.gx-sm-3 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-3,
.gy-sm-3 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-4,
.gx-sm-4 {
    --bs-gutter-x: 0.35rem;
  }
  .g-sm-4,
.gy-sm-4 {
    --bs-gutter-y: 0.35rem;
  }
  .g-sm-5,
.gx-sm-5 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-5,
.gy-sm-5 {
    --bs-gutter-y: 0.5rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .row-cols-md-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .row-cols-md-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .row-cols-md-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .row-cols-md-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .row-cols-md-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .row-cols-md-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .col-md-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .col-md-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .col-md-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .col-md-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .col-md-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .col-md-24 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 4.16666667%;
  }
  .offset-md-2 {
    margin-left: 8.33333333%;
  }
  .offset-md-3 {
    margin-left: 12.5%;
  }
  .offset-md-4 {
    margin-left: 16.66666667%;
  }
  .offset-md-5 {
    margin-left: 20.83333333%;
  }
  .offset-md-6 {
    margin-left: 25%;
  }
  .offset-md-7 {
    margin-left: 29.16666667%;
  }
  .offset-md-8 {
    margin-left: 33.33333333%;
  }
  .offset-md-9 {
    margin-left: 37.5%;
  }
  .offset-md-10 {
    margin-left: 41.66666667%;
  }
  .offset-md-11 {
    margin-left: 45.83333333%;
  }
  .offset-md-12 {
    margin-left: 50%;
  }
  .offset-md-13 {
    margin-left: 54.16666667%;
  }
  .offset-md-14 {
    margin-left: 58.33333333%;
  }
  .offset-md-15 {
    margin-left: 62.5%;
  }
  .offset-md-16 {
    margin-left: 66.66666667%;
  }
  .offset-md-17 {
    margin-left: 70.83333333%;
  }
  .offset-md-18 {
    margin-left: 75%;
  }
  .offset-md-19 {
    margin-left: 79.16666667%;
  }
  .offset-md-20 {
    margin-left: 83.33333333%;
  }
  .offset-md-21 {
    margin-left: 87.5%;
  }
  .offset-md-22 {
    margin-left: 91.66666667%;
  }
  .offset-md-23 {
    margin-left: 95.83333333%;
  }
  .g-md-0,
.gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
.gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
.gx-md-1 {
    --bs-gutter-x: 0.1rem;
  }
  .g-md-1,
.gy-md-1 {
    --bs-gutter-y: 0.1rem;
  }
  .g-md-2,
.gx-md-2 {
    --bs-gutter-x: 0.15rem;
  }
  .g-md-2,
.gy-md-2 {
    --bs-gutter-y: 0.15rem;
  }
  .g-md-3,
.gx-md-3 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-3,
.gy-md-3 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-4,
.gx-md-4 {
    --bs-gutter-x: 0.35rem;
  }
  .g-md-4,
.gy-md-4 {
    --bs-gutter-y: 0.35rem;
  }
  .g-md-5,
.gx-md-5 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-5,
.gy-md-5 {
    --bs-gutter-y: 0.5rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .row-cols-lg-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .row-cols-lg-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .row-cols-lg-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .row-cols-lg-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .row-cols-lg-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .row-cols-lg-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .col-lg-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .col-lg-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .col-lg-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .col-lg-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .col-lg-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .col-lg-24 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 4.16666667%;
  }
  .offset-lg-2 {
    margin-left: 8.33333333%;
  }
  .offset-lg-3 {
    margin-left: 12.5%;
  }
  .offset-lg-4 {
    margin-left: 16.66666667%;
  }
  .offset-lg-5 {
    margin-left: 20.83333333%;
  }
  .offset-lg-6 {
    margin-left: 25%;
  }
  .offset-lg-7 {
    margin-left: 29.16666667%;
  }
  .offset-lg-8 {
    margin-left: 33.33333333%;
  }
  .offset-lg-9 {
    margin-left: 37.5%;
  }
  .offset-lg-10 {
    margin-left: 41.66666667%;
  }
  .offset-lg-11 {
    margin-left: 45.83333333%;
  }
  .offset-lg-12 {
    margin-left: 50%;
  }
  .offset-lg-13 {
    margin-left: 54.16666667%;
  }
  .offset-lg-14 {
    margin-left: 58.33333333%;
  }
  .offset-lg-15 {
    margin-left: 62.5%;
  }
  .offset-lg-16 {
    margin-left: 66.66666667%;
  }
  .offset-lg-17 {
    margin-left: 70.83333333%;
  }
  .offset-lg-18 {
    margin-left: 75%;
  }
  .offset-lg-19 {
    margin-left: 79.16666667%;
  }
  .offset-lg-20 {
    margin-left: 83.33333333%;
  }
  .offset-lg-21 {
    margin-left: 87.5%;
  }
  .offset-lg-22 {
    margin-left: 91.66666667%;
  }
  .offset-lg-23 {
    margin-left: 95.83333333%;
  }
  .g-lg-0,
.gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
.gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
.gx-lg-1 {
    --bs-gutter-x: 0.1rem;
  }
  .g-lg-1,
.gy-lg-1 {
    --bs-gutter-y: 0.1rem;
  }
  .g-lg-2,
.gx-lg-2 {
    --bs-gutter-x: 0.15rem;
  }
  .g-lg-2,
.gy-lg-2 {
    --bs-gutter-y: 0.15rem;
  }
  .g-lg-3,
.gx-lg-3 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-3,
.gy-lg-3 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-4,
.gx-lg-4 {
    --bs-gutter-x: 0.35rem;
  }
  .g-lg-4,
.gy-lg-4 {
    --bs-gutter-y: 0.35rem;
  }
  .g-lg-5,
.gx-lg-5 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-5,
.gy-lg-5 {
    --bs-gutter-y: 0.5rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .row-cols-xl-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .row-cols-xl-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .row-cols-xl-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .row-cols-xl-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .row-cols-xl-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .row-cols-xl-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .col-xl-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .col-xl-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .col-xl-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .col-xl-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .col-xl-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .col-xl-24 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 4.16666667%;
  }
  .offset-xl-2 {
    margin-left: 8.33333333%;
  }
  .offset-xl-3 {
    margin-left: 12.5%;
  }
  .offset-xl-4 {
    margin-left: 16.66666667%;
  }
  .offset-xl-5 {
    margin-left: 20.83333333%;
  }
  .offset-xl-6 {
    margin-left: 25%;
  }
  .offset-xl-7 {
    margin-left: 29.16666667%;
  }
  .offset-xl-8 {
    margin-left: 33.33333333%;
  }
  .offset-xl-9 {
    margin-left: 37.5%;
  }
  .offset-xl-10 {
    margin-left: 41.66666667%;
  }
  .offset-xl-11 {
    margin-left: 45.83333333%;
  }
  .offset-xl-12 {
    margin-left: 50%;
  }
  .offset-xl-13 {
    margin-left: 54.16666667%;
  }
  .offset-xl-14 {
    margin-left: 58.33333333%;
  }
  .offset-xl-15 {
    margin-left: 62.5%;
  }
  .offset-xl-16 {
    margin-left: 66.66666667%;
  }
  .offset-xl-17 {
    margin-left: 70.83333333%;
  }
  .offset-xl-18 {
    margin-left: 75%;
  }
  .offset-xl-19 {
    margin-left: 79.16666667%;
  }
  .offset-xl-20 {
    margin-left: 83.33333333%;
  }
  .offset-xl-21 {
    margin-left: 87.5%;
  }
  .offset-xl-22 {
    margin-left: 91.66666667%;
  }
  .offset-xl-23 {
    margin-left: 95.83333333%;
  }
  .g-xl-0,
.gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
.gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
.gx-xl-1 {
    --bs-gutter-x: 0.1rem;
  }
  .g-xl-1,
.gy-xl-1 {
    --bs-gutter-y: 0.1rem;
  }
  .g-xl-2,
.gx-xl-2 {
    --bs-gutter-x: 0.15rem;
  }
  .g-xl-2,
.gy-xl-2 {
    --bs-gutter-y: 0.15rem;
  }
  .g-xl-3,
.gx-xl-3 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-3,
.gy-xl-3 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-4,
.gx-xl-4 {
    --bs-gutter-x: 0.35rem;
  }
  .g-xl-4,
.gy-xl-4 {
    --bs-gutter-y: 0.35rem;
  }
  .g-xl-5,
.gx-xl-5 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-5,
.gy-xl-5 {
    --bs-gutter-y: 0.5rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .row-cols-xxl-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .row-cols-xxl-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .row-cols-xxl-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .row-cols-xxl-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .row-cols-xxl-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .row-cols-xxl-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .col-xxl-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .col-xxl-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .col-xxl-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .col-xxl-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .col-xxl-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .col-xxl-24 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 4.16666667%;
  }
  .offset-xxl-2 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-3 {
    margin-left: 12.5%;
  }
  .offset-xxl-4 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-5 {
    margin-left: 20.83333333%;
  }
  .offset-xxl-6 {
    margin-left: 25%;
  }
  .offset-xxl-7 {
    margin-left: 29.16666667%;
  }
  .offset-xxl-8 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-9 {
    margin-left: 37.5%;
  }
  .offset-xxl-10 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-11 {
    margin-left: 45.83333333%;
  }
  .offset-xxl-12 {
    margin-left: 50%;
  }
  .offset-xxl-13 {
    margin-left: 54.16666667%;
  }
  .offset-xxl-14 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-15 {
    margin-left: 62.5%;
  }
  .offset-xxl-16 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-17 {
    margin-left: 70.83333333%;
  }
  .offset-xxl-18 {
    margin-left: 75%;
  }
  .offset-xxl-19 {
    margin-left: 79.16666667%;
  }
  .offset-xxl-20 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-21 {
    margin-left: 87.5%;
  }
  .offset-xxl-22 {
    margin-left: 91.66666667%;
  }
  .offset-xxl-23 {
    margin-left: 95.83333333%;
  }
  .g-xxl-0,
.gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
.gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
.gx-xxl-1 {
    --bs-gutter-x: 0.1rem;
  }
  .g-xxl-1,
.gy-xxl-1 {
    --bs-gutter-y: 0.1rem;
  }
  .g-xxl-2,
.gx-xxl-2 {
    --bs-gutter-x: 0.15rem;
  }
  .g-xxl-2,
.gy-xxl-2 {
    --bs-gutter-y: 0.15rem;
  }
  .g-xxl-3,
.gx-xxl-3 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-3,
.gy-xxl-3 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-4,
.gx-xxl-4 {
    --bs-gutter-x: 0.35rem;
  }
  .g-xxl-4,
.gy-xxl-4 {
    --bs-gutter-y: 0.35rem;
  }
  .g-xxl-5,
.gx-xxl-5 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-5,
.gy-xxl-5 {
    --bs-gutter-y: 0.5rem;
  }
}
/*百分比布局end*/




























/*清除浮动*/
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}



/*opacity*/
.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}



/*overflow*/
.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}



/*shadow*/
.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}


/* 图片大小与位置 object-fit/object-position */
/* 裁剪等比缩放 */
.ob-fit-cover{
  object-fit:cover;
}
/* 展示所有等比缩放 */
.ob-fit-contain{
  object-fit:contain;
}
/* 原有尺寸不进行缩放也不进行拉伸 */
.ob-fit-none{
  object-fit: none;
}
/* 图片定位 */
.ob-position-tl{
  object-position:top left;
}
.ob-position-tc{
  object-position:top center;
}
.ob-position-tr{
  object-position:top right;
}
.ob-position-cl{
  object-position:center left;
}
.ob-position-cc{
  object-position:center center;
}
.ob-position-cr{
  object-position:center right;
}
.ob-position-bl{
  object-position:bottom left;
}
.ob-position-bc{
  object-position:bottom center;
}
.ob-position-br{
  object-position:bottom right;
}


/*align*/
.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}




/*display*/
.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}
@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
}




/*float*/
.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}
@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-left {
    float: left !important;
  }
  .float-xxl-right {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
}




/*position*/
.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}
/*
sticky[app开发中下滑粘住上面] 使用条件
1.父元素不能overflow:hidden或者overflow:auto属性。
2.必须指定top、bottom、left、right4个值之一，否则只会处于相对定位
3.父元素的高度不能低于sticky元素的高度
4、sticky元素仅在其父元素内生效
*/
.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}
.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 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.left-0 {
  left: 0 !important;
}

.left-50 {
  left: 50% !important;
}

.left-100 {
  left: 100% !important;
}

.right-0 {
  right: 0 !important;
}

.right-50 {
  right: 50% !important;
}

.right-100 {
  right: 100% !important;
}
@media (min-width: 576px) {
  .sticky-sm-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}





/*width and height*/
.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mw-1200 {
  max-width: 1200px !important;
}

.mw-1400 {
  max-width: 1400px !important;
}

.mw-1600 {
  max-width: 1600px !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}
.min-w-0 {
  min-width: 0 !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}




/*margin and padding*/
.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.05rem !important;
}

.m-2 {
  margin: 0.1rem !important;
}

.m-3 {
  margin: 0.15rem !important;
}

.m-4 {
  margin: 0.2rem !important;
}

.m-5 {
  margin: 0.25rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.05rem !important;
  margin-left: 0.05rem !important;
}

.mx-2 {
  margin-right: 0.1rem !important;
  margin-left: 0.1rem !important;
}

.mx-3 {
  margin-right: 0.15rem !important;
  margin-left: 0.15rem !important;
}

.mx-4 {
  margin-right: 0.2rem !important;
  margin-left: 0.2rem !important;
}

.mx-5 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.05rem !important;
  margin-bottom: 0.05rem !important;
}

.my-2 {
  margin-top: 0.1rem !important;
  margin-bottom: 0.1rem !important;
}

.my-3 {
  margin-top: 0.15rem !important;
  margin-bottom: 0.15rem !important;
}

.my-4 {
  margin-top: 0.2rem !important;
  margin-bottom: 0.2rem !important;
}

.my-5 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.05rem !important;
}

.mt-2 {
  margin-top: 0.1rem !important;
}

.mt-3 {
  margin-top: 0.15rem !important;
}

.mt-4 {
  margin-top: 0.2rem !important;
}

.mt-5 {
  margin-top: 0.25rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-1 {
  margin-right: 0.05rem !important;
}

.mr-2 {
  margin-right: 0.1rem !important;
}

.mr-3 {
  margin-right: 0.15rem !important;
}

.mr-4 {
  margin-right: 0.2rem !important;
}

.mr-5 {
  margin-right: 0.25rem !important;
}

.mr-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.05rem !important;
}

.mb-2 {
  margin-bottom: 0.1rem !important;
}

.mb-3 {
  margin-bottom: 0.15rem !important;
}

.mb-4 {
  margin-bottom: 0.2rem !important;
}

.mb-5 {
  margin-bottom: 0.25rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-1 {
  margin-left: 0.05rem !important;
}

.ml-2 {
  margin-left: 0.1rem !important;
}

.ml-3 {
  margin-left: 0.15rem !important;
}

.ml-4 {
  margin-left: 0.2rem !important;
}

.ml-5 {
  margin-left: 0.25rem !important;
}

.ml-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.05rem !important;
}

.p-2 {
  padding: 0.1rem !important;
}

.p-3 {
  padding: 0.15rem !important;
}

.p-4 {
  padding: 0.2rem !important;
}

.p-5 {
  padding: 0.25rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.05rem !important;
  padding-left: 0.05rem !important;
}

.px-2 {
  padding-right: 0.1rem !important;
  padding-left: 0.1rem !important;
}

.px-3 {
  padding-right: 0.15rem !important;
  padding-left: 0.15rem !important;
}

.px-4 {
  padding-right: 0.2rem !important;
  padding-left: 0.2rem !important;
}

.px-5 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.05rem !important;
  padding-bottom: 0.05rem !important;
}

.py-2 {
  padding-top: 0.1rem !important;
  padding-bottom: 0.1rem !important;
}

.py-3 {
  padding-top: 0.15rem !important;
  padding-bottom: 0.15rem !important;
}

.py-4 {
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
}

.py-5 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.05rem !important;
}

.pt-2 {
  padding-top: 0.1rem !important;
}

.pt-3 {
  padding-top: 0.15rem !important;
}

.pt-4 {
  padding-top: 0.2rem !important;
}

.pt-5 {
  padding-top: 0.25rem !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pr-1 {
  padding-right: 0.05rem !important;
}

.pr-2 {
  padding-right: 0.1rem !important;
}

.pr-3 {
  padding-right: 0.15rem !important;
}

.pr-4 {
  padding-right: 0.2rem !important;
}

.pr-5 {
  padding-right: 0.25rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.05rem !important;
}

.pb-2 {
  padding-bottom: 0.1rem !important;
}

.pb-3 {
  padding-bottom: 0.15rem !important;
}

.pb-4 {
  padding-bottom: 0.2rem !important;
}

.pb-5 {
  padding-bottom: 0.25rem !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-1 {
  padding-left: 0.05rem !important;
}

.pl-2 {
  padding-left: 0.1rem !important;
}

.pl-3 {
  padding-left: 0.15rem !important;
}

.pl-4 {
  padding-left: 0.2rem !important;
}

.pl-5 {
  padding-left: 0.25rem !important;
}
@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.05rem !important;
  }
  .m-sm-2 {
    margin: 0.1rem !important;
  }
  .m-sm-3 {
    margin: 0.15rem !important;
  }
  .m-sm-4 {
    margin: 0.2rem !important;
  }
  .m-sm-5 {
    margin: 0.25rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.05rem !important;
    margin-left: 0.05rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.1rem !important;
    margin-left: 0.1rem !important;
  }
  .mx-sm-3 {
    margin-right: 0.15rem !important;
    margin-left: 0.15rem !important;
  }
  .mx-sm-4 {
    margin-right: 0.2rem !important;
    margin-left: 0.2rem !important;
  }
  .mx-sm-5 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.05rem !important;
    margin-bottom: 0.05rem !important;
  }
  .my-sm-2 {
    margin-top: 0.1rem !important;
    margin-bottom: 0.1rem !important;
  }
  .my-sm-3 {
    margin-top: 0.15rem !important;
    margin-bottom: 0.15rem !important;
  }
  .my-sm-4 {
    margin-top: 0.2rem !important;
    margin-bottom: 0.2rem !important;
  }
  .my-sm-5 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.05rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.1rem !important;
  }
  .mt-sm-3 {
    margin-top: 0.15rem !important;
  }
  .mt-sm-4 {
    margin-top: 0.2rem !important;
  }
  .mt-sm-5 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-0 {
    margin-right: 0 !important;
  }
  .mr-sm-1 {
    margin-right: 0.05rem !important;
  }
  .mr-sm-2 {
    margin-right: 0.1rem !important;
  }
  .mr-sm-3 {
    margin-right: 0.15rem !important;
  }
  .mr-sm-4 {
    margin-right: 0.2rem !important;
  }
  .mr-sm-5 {
    margin-right: 0.25rem !important;
  }
  .mr-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.05rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.1rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 0.15rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 0.2rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-0 {
    margin-left: 0 !important;
  }
  .ml-sm-1 {
    margin-left: 0.05rem !important;
  }
  .ml-sm-2 {
    margin-left: 0.1rem !important;
  }
  .ml-sm-3 {
    margin-left: 0.15rem !important;
  }
  .ml-sm-4 {
    margin-left: 0.2rem !important;
  }
  .ml-sm-5 {
    margin-left: 0.25rem !important;
  }
  .ml-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.05rem !important;
  }
  .p-sm-2 {
    padding: 0.1rem !important;
  }
  .p-sm-3 {
    padding: 0.15rem !important;
  }
  .p-sm-4 {
    padding: 0.2rem !important;
  }
  .p-sm-5 {
    padding: 0.25rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.05rem !important;
    padding-left: 0.05rem !important;
  }
  .px-sm-2 {
    padding-right: 0.1rem !important;
    padding-left: 0.1rem !important;
  }
  .px-sm-3 {
    padding-right: 0.15rem !important;
    padding-left: 0.15rem !important;
  }
  .px-sm-4 {
    padding-right: 0.2rem !important;
    padding-left: 0.2rem !important;
  }
  .px-sm-5 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.05rem !important;
    padding-bottom: 0.05rem !important;
  }
  .py-sm-2 {
    padding-top: 0.1rem !important;
    padding-bottom: 0.1rem !important;
  }
  .py-sm-3 {
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
  }
  .py-sm-4 {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
  }
  .py-sm-5 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.05rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.1rem !important;
  }
  .pt-sm-3 {
    padding-top: 0.15rem !important;
  }
  .pt-sm-4 {
    padding-top: 0.2rem !important;
  }
  .pt-sm-5 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-0 {
    padding-right: 0 !important;
  }
  .pr-sm-1 {
    padding-right: 0.05rem !important;
  }
  .pr-sm-2 {
    padding-right: 0.1rem !important;
  }
  .pr-sm-3 {
    padding-right: 0.15rem !important;
  }
  .pr-sm-4 {
    padding-right: 0.2rem !important;
  }
  .pr-sm-5 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.05rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.1rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 0.15rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 0.2rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-0 {
    padding-left: 0 !important;
  }
  .pl-sm-1 {
    padding-left: 0.05rem !important;
  }
  .pl-sm-2 {
    padding-left: 0.1rem !important;
  }
  .pl-sm-3 {
    padding-left: 0.15rem !important;
  }
  .pl-sm-4 {
    padding-left: 0.2rem !important;
  }
  .pl-sm-5 {
    padding-left: 0.25rem !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.05rem !important;
  }
  .m-md-2 {
    margin: 0.1rem !important;
  }
  .m-md-3 {
    margin: 0.15rem !important;
  }
  .m-md-4 {
    margin: 0.2rem !important;
  }
  .m-md-5 {
    margin: 0.25rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.05rem !important;
    margin-left: 0.05rem !important;
  }
  .mx-md-2 {
    margin-right: 0.1rem !important;
    margin-left: 0.1rem !important;
  }
  .mx-md-3 {
    margin-right: 0.15rem !important;
    margin-left: 0.15rem !important;
  }
  .mx-md-4 {
    margin-right: 0.2rem !important;
    margin-left: 0.2rem !important;
  }
  .mx-md-5 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.05rem !important;
    margin-bottom: 0.05rem !important;
  }
  .my-md-2 {
    margin-top: 0.1rem !important;
    margin-bottom: 0.1rem !important;
  }
  .my-md-3 {
    margin-top: 0.15rem !important;
    margin-bottom: 0.15rem !important;
  }
  .my-md-4 {
    margin-top: 0.2rem !important;
    margin-bottom: 0.2rem !important;
  }
  .my-md-5 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.05rem !important;
  }
  .mt-md-2 {
    margin-top: 0.1rem !important;
  }
  .mt-md-3 {
    margin-top: 0.15rem !important;
  }
  .mt-md-4 {
    margin-top: 0.2rem !important;
  }
  .mt-md-5 {
    margin-top: 0.25rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .mr-md-1 {
    margin-right: 0.05rem !important;
  }
  .mr-md-2 {
    margin-right: 0.1rem !important;
  }
  .mr-md-3 {
    margin-right: 0.15rem !important;
  }
  .mr-md-4 {
    margin-right: 0.2rem !important;
  }
  .mr-md-5 {
    margin-right: 0.25rem !important;
  }
  .mr-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.05rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.1rem !important;
  }
  .mb-md-3 {
    margin-bottom: 0.15rem !important;
  }
  .mb-md-4 {
    margin-bottom: 0.2rem !important;
  }
  .mb-md-5 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-0 {
    margin-left: 0 !important;
  }
  .ml-md-1 {
    margin-left: 0.05rem !important;
  }
  .ml-md-2 {
    margin-left: 0.1rem !important;
  }
  .ml-md-3 {
    margin-left: 0.15rem !important;
  }
  .ml-md-4 {
    margin-left: 0.2rem !important;
  }
  .ml-md-5 {
    margin-left: 0.25rem !important;
  }
  .ml-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.05rem !important;
  }
  .p-md-2 {
    padding: 0.1rem !important;
  }
  .p-md-3 {
    padding: 0.15rem !important;
  }
  .p-md-4 {
    padding: 0.2rem !important;
  }
  .p-md-5 {
    padding: 0.25rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.05rem !important;
    padding-left: 0.05rem !important;
  }
  .px-md-2 {
    padding-right: 0.1rem !important;
    padding-left: 0.1rem !important;
  }
  .px-md-3 {
    padding-right: 0.15rem !important;
    padding-left: 0.15rem !important;
  }
  .px-md-4 {
    padding-right: 0.2rem !important;
    padding-left: 0.2rem !important;
  }
  .px-md-5 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.05rem !important;
    padding-bottom: 0.05rem !important;
  }
  .py-md-2 {
    padding-top: 0.1rem !important;
    padding-bottom: 0.1rem !important;
  }
  .py-md-3 {
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
  }
  .py-md-4 {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
  }
  .py-md-5 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.05rem !important;
  }
  .pt-md-2 {
    padding-top: 0.1rem !important;
  }
  .pt-md-3 {
    padding-top: 0.15rem !important;
  }
  .pt-md-4 {
    padding-top: 0.2rem !important;
  }
  .pt-md-5 {
    padding-top: 0.25rem !important;
  }
  .pr-md-0 {
    padding-right: 0 !important;
  }
  .pr-md-1 {
    padding-right: 0.05rem !important;
  }
  .pr-md-2 {
    padding-right: 0.1rem !important;
  }
  .pr-md-3 {
    padding-right: 0.15rem !important;
  }
  .pr-md-4 {
    padding-right: 0.2rem !important;
  }
  .pr-md-5 {
    padding-right: 0.25rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.05rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.1rem !important;
  }
  .pb-md-3 {
    padding-bottom: 0.15rem !important;
  }
  .pb-md-4 {
    padding-bottom: 0.2rem !important;
  }
  .pb-md-5 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-0 {
    padding-left: 0 !important;
  }
  .pl-md-1 {
    padding-left: 0.05rem !important;
  }
  .pl-md-2 {
    padding-left: 0.1rem !important;
  }
  .pl-md-3 {
    padding-left: 0.15rem !important;
  }
  .pl-md-4 {
    padding-left: 0.2rem !important;
  }
  .pl-md-5 {
    padding-left: 0.25rem !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.05rem !important;
  }
  .m-lg-2 {
    margin: 0.1rem !important;
  }
  .m-lg-3 {
    margin: 0.15rem !important;
  }
  .m-lg-4 {
    margin: 0.2rem !important;
  }
  .m-lg-5 {
    margin: 0.25rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.05rem !important;
    margin-left: 0.05rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.1rem !important;
    margin-left: 0.1rem !important;
  }
  .mx-lg-3 {
    margin-right: 0.15rem !important;
    margin-left: 0.15rem !important;
  }
  .mx-lg-4 {
    margin-right: 0.2rem !important;
    margin-left: 0.2rem !important;
  }
  .mx-lg-5 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.05rem !important;
    margin-bottom: 0.05rem !important;
  }
  .my-lg-2 {
    margin-top: 0.1rem !important;
    margin-bottom: 0.1rem !important;
  }
  .my-lg-3 {
    margin-top: 0.15rem !important;
    margin-bottom: 0.15rem !important;
  }
  .my-lg-4 {
    margin-top: 0.2rem !important;
    margin-bottom: 0.2rem !important;
  }
  .my-lg-5 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.05rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.1rem !important;
  }
  .mt-lg-3 {
    margin-top: 0.15rem !important;
  }
  .mt-lg-4 {
    margin-top: 0.2rem !important;
  }
  .mt-lg-5 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-0 {
    margin-right: 0 !important;
  }
  .mr-lg-1 {
    margin-right: 0.05rem !important;
  }
  .mr-lg-2 {
    margin-right: 0.1rem !important;
  }
  .mr-lg-3 {
    margin-right: 0.15rem !important;
  }
  .mr-lg-4 {
    margin-right: 0.2rem !important;
  }
  .mr-lg-5 {
    margin-right: 0.25rem !important;
  }
  .mr-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.05rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.1rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 0.15rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 0.2rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-0 {
    margin-left: 0 !important;
  }
  .ml-lg-1 {
    margin-left: 0.05rem !important;
  }
  .ml-lg-2 {
    margin-left: 0.1rem !important;
  }
  .ml-lg-3 {
    margin-left: 0.15rem !important;
  }
  .ml-lg-4 {
    margin-left: 0.2rem !important;
  }
  .ml-lg-5 {
    margin-left: 0.25rem !important;
  }
  .ml-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.05rem !important;
  }
  .p-lg-2 {
    padding: 0.1rem !important;
  }
  .p-lg-3 {
    padding: 0.15rem !important;
  }
  .p-lg-4 {
    padding: 0.2rem !important;
  }
  .p-lg-5 {
    padding: 0.25rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.05rem !important;
    padding-left: 0.05rem !important;
  }
  .px-lg-2 {
    padding-right: 0.1rem !important;
    padding-left: 0.1rem !important;
  }
  .px-lg-3 {
    padding-right: 0.15rem !important;
    padding-left: 0.15rem !important;
  }
  .px-lg-4 {
    padding-right: 0.2rem !important;
    padding-left: 0.2rem !important;
  }
  .px-lg-5 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.05rem !important;
    padding-bottom: 0.05rem !important;
  }
  .py-lg-2 {
    padding-top: 0.1rem !important;
    padding-bottom: 0.1rem !important;
  }
  .py-lg-3 {
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
  }
  .py-lg-4 {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
  }
  .py-lg-5 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.05rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.1rem !important;
  }
  .pt-lg-3 {
    padding-top: 0.15rem !important;
  }
  .pt-lg-4 {
    padding-top: 0.2rem !important;
  }
  .pt-lg-5 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-0 {
    padding-right: 0 !important;
  }
  .pr-lg-1 {
    padding-right: 0.05rem !important;
  }
  .pr-lg-2 {
    padding-right: 0.1rem !important;
  }
  .pr-lg-3 {
    padding-right: 0.15rem !important;
  }
  .pr-lg-4 {
    padding-right: 0.2rem !important;
  }
  .pr-lg-5 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.05rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.1rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 0.15rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 0.2rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-0 {
    padding-left: 0 !important;
  }
  .pl-lg-1 {
    padding-left: 0.05rem !important;
  }
  .pl-lg-2 {
    padding-left: 0.1rem !important;
  }
  .pl-lg-3 {
    padding-left: 0.15rem !important;
  }
  .pl-lg-4 {
    padding-left: 0.2rem !important;
  }
  .pl-lg-5 {
    padding-left: 0.25rem !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.05rem !important;
  }
  .m-xl-2 {
    margin: 0.1rem !important;
  }
  .m-xl-3 {
    margin: 0.15rem !important;
  }
  .m-xl-4 {
    margin: 0.2rem !important;
  }
  .m-xl-5 {
    margin: 0.25rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.05rem !important;
    margin-left: 0.05rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.1rem !important;
    margin-left: 0.1rem !important;
  }
  .mx-xl-3 {
    margin-right: 0.15rem !important;
    margin-left: 0.15rem !important;
  }
  .mx-xl-4 {
    margin-right: 0.2rem !important;
    margin-left: 0.2rem !important;
  }
  .mx-xl-5 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.05rem !important;
    margin-bottom: 0.05rem !important;
  }
  .my-xl-2 {
    margin-top: 0.1rem !important;
    margin-bottom: 0.1rem !important;
  }
  .my-xl-3 {
    margin-top: 0.15rem !important;
    margin-bottom: 0.15rem !important;
  }
  .my-xl-4 {
    margin-top: 0.2rem !important;
    margin-bottom: 0.2rem !important;
  }
  .my-xl-5 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.05rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.1rem !important;
  }
  .mt-xl-3 {
    margin-top: 0.15rem !important;
  }
  .mt-xl-4 {
    margin-top: 0.2rem !important;
  }
  .mt-xl-5 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-0 {
    margin-right: 0 !important;
  }
  .mr-xl-1 {
    margin-right: 0.05rem !important;
  }
  .mr-xl-2 {
    margin-right: 0.1rem !important;
  }
  .mr-xl-3 {
    margin-right: 0.15rem !important;
  }
  .mr-xl-4 {
    margin-right: 0.2rem !important;
  }
  .merxl-5 {
    margin-right: 0.25rem !important;
  }
  .mr-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.05rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.1rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 0.15rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 0.2rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-0 {
    margin-left: 0 !important;
  }
  .ml-xl-1 {
    margin-left: 0.05rem !important;
  }
  .ml-xl-2 {
    margin-left: 0.1rem !important;
  }
  .ml-xl-3 {
    margin-left: 0.15rem !important;
  }
  .ml-xl-4 {
    margin-left: 0.2rem !important;
  }
  .ml-xl-5 {
    margin-left: 0.25rem !important;
  }
  .ml-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.05rem !important;
  }
  .p-xl-2 {
    padding: 0.1rem !important;
  }
  .p-xl-3 {
    padding: 0.15rem !important;
  }
  .p-xl-4 {
    padding: 0.2rem !important;
  }
  .p-xl-5 {
    padding: 0.25rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.05rem !important;
    padding-left: 0.05rem !important;
  }
  .px-xl-2 {
    padding-right: 0.1rem !important;
    padding-left: 0.1rem !important;
  }
  .px-xl-3 {
    padding-right: 0.15rem !important;
    padding-left: 0.15rem !important;
  }
  .px-xl-4 {
    padding-right: 0.2rem !important;
    padding-left: 0.2rem !important;
  }
  .px-xl-5 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.05rem !important;
    padding-bottom: 0.05rem !important;
  }
  .py-xl-2 {
    padding-top: 0.1rem !important;
    padding-bottom: 0.1rem !important;
  }
  .py-xl-3 {
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
  }
  .py-xl-4 {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
  }
  .py-xl-5 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.05rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.1rem !important;
  }
  .pt-xl-3 {
    padding-top: 0.15rem !important;
  }
  .pt-xl-4 {
    padding-top: 0.2rem !important;
  }
  .pt-xl-5 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-0 {
    padding-right: 0 !important;
  }
  .pr-xl-1 {
    padding-right: 0.05rem !important;
  }
  .pr-xl-2 {
    padding-right: 0.1rem !important;
  }
  .pr-xl-3 {
    padding-right: 0.15rem !important;
  }
  .pr-xl-4 {
    padding-right: 0.2rem !important;
  }
  .pr-xl-5 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.05rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.1rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 0.15rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 0.2rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-0 {
    padding-left: 0 !important;
  }
  .pl-xl-1 {
    padding-left: 0.05rem !important;
  }
  .pl-xl-2 {
    padding-left: 0.1rem !important;
  }
  .pl-xl-3 {
    padding-left: 0.15rem !important;
  }
  .pl-xl-4 {
    padding-left: 0.2rem !important;
  }
  .pl-xl-5 {
    padding-left: 0.25rem !important;
  }
}
@media (min-width: 1400px) {
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.05rem !important;
  }
  .m-xxl-2 {
    margin: 0.1rem !important;
  }
  .m-xxl-3 {
    margin: 0.15rem !important;
  }
  .m-xxl-4 {
    margin: 0.2rem !important;
  }
  .m-xxl-5 {
    margin: 0.25rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.05rem !important;
    margin-left: 0.05rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.1rem !important;
    margin-left: 0.1rem !important;
  }
  .mx-xxl-3 {
    margin-right: 0.15rem !important;
    margin-left: 0.15rem !important;
  }
  .mx-xxl-4 {
    margin-right: 0.2rem !important;
    margin-left: 0.2rem !important;
  }
  .mx-xxl-5 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.05rem !important;
    margin-bottom: 0.05rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.1rem !important;
    margin-bottom: 0.1rem !important;
  }
  .my-xxl-3 {
    margin-top: 0.15rem !important;
    margin-bottom: 0.15rem !important;
  }
  .my-xxl-4 {
    margin-top: 0.2rem !important;
    margin-bottom: 0.2rem !important;
  }
  .my-xxl-5 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.05rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.1rem !important;
  }
  .mt-xxl-3 {
    margin-top: 0.15rem !important;
  }
  .mt-xxl-4 {
    margin-top: 0.2rem !important;
  }
  .mt-xxl-5 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .mr-xxl-0 {
    margin-right: 0 !important;
  }
  .mr-xxl-1 {
    margin-right: 0.05rem !important;
  }
  .mr-xxl-2 {
    margin-right: 0.1rem !important;
  }
  .mr-xxl-3 {
    margin-right: 0.15rem !important;
  }
  .mr-xxl-4 {
    margin-right: 0.2rem !important;
  }
  .mr-xxl-5 {
    margin-right: 0.25rem !important;
  }
  .mr-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.05rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.1rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 0.15rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 0.2rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ml-xxl-0 {
    margin-left: 0 !important;
  }
  .ml-xxl-1 {
    margin-left: 0.05rem !important;
  }
  .ml-xxl-2 {
    margin-left: 0.1rem !important;
  }
  .ml-xxl-3 {
    margin-left: 0.15rem !important;
  }
  .ml-xxl-4 {
    margin-left: 0.2rem !important;
  }
  .ml-xxl-5 {
    margin-left: 0.25rem !important;
  }
  .ml-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.05rem !important;
  }
  .p-xxl-2 {
    padding: 0.1rem !important;
  }
  .p-xxl-3 {
    padding: 0.15rem !important;
  }
  .p-xxl-4 {
    padding: 0.2rem !important;
  }
  .p-xxl-5 {
    padding: 0.25rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.05rem !important;
    padding-left: 0.05rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.1rem !important;
    padding-left: 0.1rem !important;
  }
  .px-xxl-3 {
    padding-right: 0.15rem !important;
    padding-left: 0.15rem !important;
  }
  .px-xxl-4 {
    padding-right: 0.2rem !important;
    padding-left: 0.2rem !important;
  }
  .px-xxl-5 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.05rem !important;
    padding-bottom: 0.05rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.1rem !important;
    padding-bottom: 0.1rem !important;
  }
  .py-xxl-3 {
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
  }
  .py-xxl-4 {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
  }
  .py-xxl-5 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.05rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.1rem !important;
  }
  .pt-xxl-3 {
    padding-top: 0.15rem !important;
  }
  .pt-xxl-4 {
    padding-top: 0.2rem !important;
  }
  .pt-xxl-5 {
    padding-top: 0.25rem !important;
  }
  .pr-xxl-0 {
    padding-right: 0 !important;
  }
  .pr-xxl-1 {
    padding-right: 0.05rem !important;
  }
  .pr-xxl-2 {
    padding-right: 0.1rem !important;
  }
  .pr-xxl-3 {
    padding-right: 0.15rem !important;
  }
  .pr-xxl-4 {
    padding-right: 0.2rem !important;
  }
  .pr-xxl-5 {
    padding-right: 0.25rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.05rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.1rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 0.15rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 0.2rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xxl-0 {
    padding-left: 0 !important;
  }
  .pl-xxl-1 {
    padding-left: 0.05rem !important;
  }
  .pl-xxl-2 {
    padding-left: 0.1rem !important;
  }
  .pl-xxl-3 {
    padding-left: 0.15rem !important;
  }
  .pl-xxl-4 {
    padding-left: 0.2rem !important;
  }
  .pl-xxl-5 {
    padding-left: 0.25rem !important;
  }
}



/* border */
.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-blue {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-blue-rgb), var(--bs-border-opacity)) !important;
}

.border-cyan {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-cyan-rgb), var(--bs-border-opacity)) !important;
}

.border-indigo {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-indigo-rgb), var(--bs-border-opacity)) !important;
}

.border-purple {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-purple-rgb), var(--bs-border-opacity)) !important;
}

.border-pink {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-pink-rgb), var(--bs-border-opacity)) !important;
}

.border-red {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-red-rgb), var(--bs-border-opacity)) !important;
}

.border-orange {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-orange-rgb), var(--bs-border-opacity)) !important;
}

.border-yellow {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-yellow-rgb), var(--bs-border-opacity)) !important;
}

.border-green {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-green-rgb), var(--bs-border-opacity)) !important;
}

.border-teal {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-teal-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-gray {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-100 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-100-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-200 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-200-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-300 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-300-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-400 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-400-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-500 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-500-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-600 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-600-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-700 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-700-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-800 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-800-rgb), var(--bs-border-opacity)) !important;
}

.border-gray-900 {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-900-rgb), var(--bs-border-opacity)) !important;
}

.border-1 {
  --bs-border-width: 1px;
}

.border-2 {
  --bs-border-width: 2px;
}

.border-3 {
  --bs-border-width: 3px;
}

.border-4 {
  --bs-border-width: 4px;
}

.border-5 {
  --bs-border-width: 5px;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.border-radius {
  border-radius: var(--bs-border-radius) !important;
}

.border-radius-0 {
  border-radius: 0 !important;
}

.border-radius-sm {
  border-radius: var(--bs-border-radius-sm) !important;
}

.border-radius-md {
  border-radius: var(--bs-border-radius) !important;
}

.border-radius-lg {
  border-radius: var(--bs-border-radius-lg) !important;
}

.border-radius-xl {
  border-radius: var(--bs-border-radius-xl) !important;
}

.border-radius-xxl {
  border-radius: var(--bs-border-radius-2xl) !important;
}

.border-radius-circle {
  border-radius: 50% !important;
}

.border-radius-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.border-radius-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.border-radius-right {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.border-radius-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.border-radius-left {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}




/*flex*/
.flex-1 {
  flex: 1 1 auto !important;
}

.flex-0 {
  flex: 0 0 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

/* 整个容器横向对齐 */
.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

/* 容器中所有项目纵向对齐 */
.justify-items-start {
  justify-items: flex-start !important;
}

.justify-items-end {
  justify-items: flex-end !important;
}

.justify-items-center {
  justify-items: center !important;
}

.justify-items-stretch {
  justify-items: stretch !important;
}

/*单个项目自己对齐*/
.justify-self-start {
  justify-self: flex-start !important;
}

.justify-self-end {
  justify-self: flex-end !important;
}

.justify-self-center {
  justify-self: center !important;
}

.justify-self-stretch {
  justify-self: stretch !important;
}

/*整个容器纵向对齐*/
.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

/* 容器中所有项目纵向对齐 */
.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

/*单个项目自己对齐*/
.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

/*place-content:align-content-property-value justify-content-property-value*/
.place-content-start {
  place-content: flex-start !important;
}

.place-content-end {
  place-content: flex-end !important;
}

.place-content-center {
  place-content: center !important;
}

/*place-items:align-items-property-value justify-items-property-value*/
.place-items-start {
  place-items: flex-start !important;
}

.place-items-end {
  place-items: flex-end !important;
}

.place-items-center {
  place-items: center !important;
}

/*place-self:align-self-property-value justify-self-property-value*/
.place-self-start {
  place-self: flex-start !important;
}

.place-self-end {
  place-self: flex-end !important;
}

.place-self-center {
  place-self: center !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.05rem !important;
}

.gap-2 {
  gap: 0.1rem !important;
}

.gap-3 {
  gap: 0.15rem !important;
}

.gap-4 {
  gap: 0.2rem !important;
}

.gap-5 {
  gap: 0.25rem !important;
}

.gap-x-0 {
  row-gap: 0 !important;
}

.gap-x-1 {
  row-gap: 0.05rem !important;
}

.gap-x-2 {
  row-gap: 0.1rem !important;
}

.gap-x-3 {
  row-gap: 0.15rem !important;
}

.gap-x-4 {
  row-gap: 0.2rem !important;
}

.gap-x-5 {
  row-gap: 0.25rem !important;
}

.gap-y-0 {
  column-gap: 0 !important;
}

.gap-y-1 {
  column-gap: 0.05rem !important;
}

.gap-y-2 {
  column-gap: 0.1rem !important;
}

.gap-y-3 {
  column-gap: 0.15rem !important;
}

.gap-y-4 {
  column-gap: 0.2rem !important;
}

.gap-y-5 {
  column-gap: 0.25rem !important;
}

@media (min-width: 576px) {
  .flex-sm-1 {
    flex: 1 1 auto !important;
  }
  .flex-sm-0 {
    flex: 0 0 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .justify-items-sm-start {
    justify-items: flex-start !important;
  }
  .justify-items-sm-end {
    justify-items: flex-end !important;
  }
  .justify-items-sm-center {
    justify-items: center !important;
  }
  .justify-items-sm-stretch {
    justify-items: stretch !important;
  }
  .justify-self-sm-start {
    justify-self: flex-start !important;
  }
  .justify-self-sm-end {
    justify-self: flex-end !important;
  }
  .justify-self-sm-center {
    justify-self: center !important;
  }
  .justify-self-sm-stretch {
    justify-self: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .place-content-sm-start {
    place-content: flex-start !important;
  }
  .place-content-sm-end {
    place-content: flex-end !important;
  }
  .place-content-sm-center {
    place-content: center !important;
  }
  .place-items-sm-start {
    place-items: flex-start !important;
  }
  .place-items-sm-end {
    place-items: flex-end !important;
  }
  .place-items-sm-center {
    place-items: center !important;
  }
  .place-self-sm-start {
    place-self: flex-start !important;
  }
  .place-self-sm-end {
    place-self: flex-end !important;
  }
  .place-self-sm-center {
    place-self: center !important;
  }
  .order-first {
    order: -1 !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.05rem !important;
  }
  .gap-sm-2 {
    gap: 0.1rem !important;
  }
  .gap-sm-3 {
    gap: 0.15rem !important;
  }
  .gap-sm-4 {
    gap: 0.2rem !important;
  }
  .gap-sm-5 {
    gap: 0.25rem !important;
  }
  .gap-x-sm-0 {
    row-gap: 0 !important;
  }
  .gap-x-sm-1 {
    row-gap: 0.05rem !important;
  }
  .gap-x-sm-2 {
    row-gap: 0.1rem !important;
  }
  .gap-x-sm-3 {
    row-gap: 0.15rem !important;
  }
  .gap-x-sm-4 {
    row-gap: 0.2rem !important;
  }
  .gap-x-sm-5 {
    row-gap: 0.25rem !important;
  }
  .gap-y-sm-0 {
    column-gap: 0 !important;
  }
  .gap-y-sm-1 {
    column-gap: 0.05rem !important;
  }
  .gap-y-sm-2 {
    column-gap: 0.1rem !important;
  }
  .gap-y-sm-3 {
    column-gap: 0.15rem !important;
  }
  .gap-y-sm-4 {
    column-gap: 0.2rem !important;
  }
  .gap-y-sm-5 {
    column-gap: 0.25rem !important;
  }
}
@media (min-width: 768px) {
  .flex-md-1 {
    flex: 1 1 auto !important;
  }
  .flex-md-0 {
    flex: 0 0 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .justify-items-md-start {
    justify-items: flex-start !important;
  }
  .justify-items-md-end {
    justify-items: flex-end !important;
  }
  .justify-items-md-center {
    justify-items: center !important;
  }
  .justify-items-md-stretch {
    justify-items: stretch !important;
  }
  .justify-self-md-start {
    justify-self: flex-start !important;
  }
  .justify-self-md-end {
    justify-self: flex-end !important;
  }
  .justify-self-md-center {
    justify-self: center !important;
  }
  .justify-self-md-stretch {
    justify-self: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .place-content-md-start {
    place-content: flex-start !important;
  }
  .place-content-md-end {
    place-content: flex-end !important;
  }
  .place-content-md-center {
    place-content: center !important;
  }
  .place-items-md-start {
    place-items: flex-start !important;
  }
  .place-items-md-end {
    place-items: flex-end !important;
  }
  .place-items-md-center {
    place-items: center !important;
  }
  .place-self-md-start {
    place-self: flex-start !important;
  }
  .place-self-md-end {
    place-self: flex-end !important;
  }
  .place-self-md-center {
    place-self: center !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.05rem !important;
  }
  .gap-md-2 {
    gap: 0.1rem !important;
  }
  .gap-md-3 {
    gap: 0.15rem !important;
  }
  .gap-md-4 {
    gap: 0.2rem !important;
  }
  .gap-md-5 {
    gap: 0.25rem !important;
  }
  .gap-x-md-0 {
    row-gap: 0 !important;
  }
  .gap-x-md-1 {
    row-gap: 0.05rem !important;
  }
  .gap-x-md-2 {
    row-gap: 0.1rem !important;
  }
  .gap-x-md-3 {
    row-gap: 0.15rem !important;
  }
  .gap-x-md-4 {
    row-gap: 0.2rem !important;
  }
  .gap-x-md-5 {
    row-gap: 0.25rem !important;
  }
  .gap-y-md-0 {
    column-gap: 0 !important;
  }
  .gap-y-md-1 {
    column-gap: 0.05rem !important;
  }
  .gap-y-md-2 {
    column-gap: 0.1rem !important;
  }
  .gap-y-md-3 {
    column-gap: 0.15rem !important;
  }
  .gap-y-md-4 {
    column-gap: 0.2rem !important;
  }
  .gap-y-md-5 {
    column-gap: 0.25rem !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-1 {
    flex: 1 1 auto !important;
  }
  .flex-lg-0 {
    flex: 0 0 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .justify-items-lg-start {
    justify-items: flex-start !important;
  }
  .justify-items-lg-end {
    justify-items: flex-end !important;
  }
  .justify-items-lg-center {
    justify-items: center !important;
  }
  .justify-items-lg-stretch {
    justify-items: stretch !important;
  }
  .justify-self-lg-start {
    justify-self: flex-start !important;
  }
  .justify-self-lg-end {
    justify-self: flex-end !important;
  }
  .justify-self-lg-center {
    justify-self: center !important;
  }
  .justify-self-lg-stretch {
    justify-self: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .place-content-lg-start {
    place-content: flex-start !important;
  }
  .place-content-lg-end {
    place-content: flex-end !important;
  }
  .place-content-lg-center {
    place-content: center !important;
  }
  .place-items-lg-start {
    place-items: flex-start !important;
  }
  .place-items-lg-end {
    place-items: flex-end !important;
  }
  .place-items-lg-center {
    place-items: center !important;
  }
  .place-self-lg-start {
    place-self: flex-start !important;
  }
  .place-self-lg-end {
    place-self: flex-end !important;
  }
  .place-self-lg-center {
    place-self: center !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.05rem !important;
  }
  .gap-lg-2 {
    gap: 0.1rem !important;
  }
  .gap-lg-3 {
    gap: 0.15rem !important;
  }
  .gap-lg-4 {
    gap: 0.2rem !important;
  }
  .gap-lg-5 {
    gap: 0.25rem !important;
  }
  .gap-x-lg-0 {
    row-gap: 0 !important;
  }
  .gap-x-lg-1 {
    row-gap: 0.05rem !important;
  }
  .gap-x-lg-2 {
    row-gap: 0.1rem !important;
  }
  .gap-x-lg-3 {
    row-gap: 0.15rem !important;
  }
  .gap-x-lg-4 {
    row-gap: 0.2rem !important;
  }
  .gap-x-lg-5 {
    row-gap: 0.25rem !important;
  }
  .gap-y-lg-0 {
    column-gap: 0 !important;
  }
  .gap-y-lg-1 {
    column-gap: 0.05rem !important;
  }
  .gap-y-lg-2 {
    column-gap: 0.1rem !important;
  }
  .gap-y-lg-3 {
    column-gap: 0.15rem !important;
  }
  .gap-y-lg-4 {
    column-gap: 0.2rem !important;
  }
  .gap-y-lg-5 {
    column-gap: 0.25rem !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-1 {
    flex: 1 1 auto !important;
  }
  .flex-xl-0 {
    flex: 0 0 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .justify-items-xl-start {
    justify-items: flex-start !important;
  }
  .justify-items-xl-end {
    justify-items: flex-end !important;
  }
  .justify-items-xl-center {
    justify-items: center !important;
  }
  .justify-items-xl-stretch {
    justify-items: stretch !important;
  }
  .justify-self-xl-start {
    justify-self: flex-start !important;
  }
  .justify-self-xl-end {
    justify-self: flex-end !important;
  }
  .justify-self-xl-center {
    justify-self: center !important;
  }
  .justify-self-xl-stretch {
    justify-self: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .place-content-xl-start {
    place-content: flex-start !important;
  }
  .place-content-xl-end {
    place-content: flex-end !important;
  }
  .place-content-xl-center {
    place-content: center !important;
  }
  .place-items-xl-start {
    place-items: flex-start !important;
  }
  .place-items-xl-end {
    place-items: flex-end !important;
  }
  .place-items-xl-center {
    place-items: center !important;
  }
  .place-self-xl-start {
    place-self: flex-start !important;
  }
  .place-self-xl-end {
    place-self: flex-end !important;
  }
  .place-self-xl-center {
    place-self: center !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.05rem !important;
  }
  .gap-xl-2 {
    gap: 0.1rem !important;
  }
  .gap-xl-3 {
    gap: 0.15rem !important;
  }
  .gap-xl-4 {
    gap: 0.2rem !important;
  }
  .gap-xl-5 {
    gap: 0.25rem !important;
  }
  .gap-x-xl-0 {
    row-gap: 0 !important;
  }
  .gap-x-xl-1 {
    row-gap: 0.05rem !important;
  }
  .gap-x-xl-2 {
    row-gap: 0.1rem !important;
  }
  .gap-x-xl-3 {
    row-gap: 0.15rem !important;
  }
  .gap-x-xl-4 {
    row-gap: 0.2rem !important;
  }
  .gap-x-xl-5 {
    row-gap: 0.25rem !important;
  }
  .gap-y-xl-0 {
    column-gap: 0 !important;
  }
  .gap-y-xl-1 {
    column-gap: 0.05rem !important;
  }
  .gap-y-xl-2 {
    column-gap: 0.1rem !important;
  }
  .gap-y-xl-3 {
    column-gap: 0.15rem !important;
  }
  .gap-y-xl-4 {
    column-gap: 0.2rem !important;
  }
  .gap-y-xl-5 {
    column-gap: 0.25rem !important;
  }
}
@media (min-width: 1400px) {
  .flex-xxl-1 {
    flex: 1 1 auto !important;
  }
  .flex-xxl-0 {
    flex: 0 0 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .justify-items-xxl-start {
    justify-items: flex-start !important;
  }
  .justify-items-xxl-end {
    justify-items: flex-end !important;
  }
  .justify-items-xxl-center {
    justify-items: center !important;
  }
  .justify-items-xxl-stretch {
    justify-items: stretch !important;
  }
  .justify-self-xxl-start {
    justify-self: flex-start !important;
  }
  .justify-self-xxl-end {
    justify-self: flex-end !important;
  }
  .justify-self-xxl-center {
    justify-self: center !important;
  }
  .justify-self-xxl-stretch {
    justify-self: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .place-content-xxl-start {
    place-content: flex-start !important;
  }
  .place-content-xxl-end {
    place-content: flex-end !important;
  }
  .place-content-xxl-center {
    place-content: center !important;
  }
  .place-items-xxl-start {
    place-items: flex-start !important;
  }
  .place-items-xxl-end {
    place-items: flex-end !important;
  }
  .place-items-xxl-center {
    place-items: center !important;
  }
  .place-self-xxl-start {
    place-self: flex-start !important;
  }
  .place-self-xxl-end {
    place-self: flex-end !important;
  }
  .place-self-xxl-center {
    place-self: center !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.05rem !important;
  }
  .gap-xxl-2 {
    gap: 0.1rem !important;
  }
  .gap-xxl-3 {
    gap: 0.15rem !important;
  }
  .gap-xxl-4 {
    gap: 0.2rem !important;
  }
  .gap-xxl-5 {
    gap: 0.25rem !important;
  }
  .gap-x-xxl-0 {
    row-gap: 0 !important;
  }
  .gap-x-xxl-1 {
    row-gap: 0.05rem !important;
  }
  .gap-x-xxl-2 {
    row-gap: 0.1rem !important;
  }
  .gap-x-xxl-3 {
    row-gap: 0.15rem !important;
  }
  .gap-x-xxl-4 {
    row-gap: 0.2rem !important;
  }
  .gap-x-xxl-5 {
    row-gap: 0.25rem !important;
  }
  .gap-y-xxl-0 {
    column-gap: 0 !important;
  }
  .gap-y-xxl-1 {
    column-gap: 0.05rem !important;
  }
  .gap-y-xxl-2 {
    column-gap: 0.1rem !important;
  }
  .gap-y-xxl-3 {
    column-gap: 0.15rem !important;
  }
  .gap-y-xxl-4 {
    column-gap: 0.2rem !important;
  }
  .gap-y-xxl-5 {
    column-gap: 0.25rem !important;
  }
}



/* background */
/* 背景颜色 */
.bg-blue {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-blue-rgb), var(--bs-bg-opacity)) !important;
}

.bg-cyan {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-cyan-rgb), var(--bs-bg-opacity)) !important;
}

.bg-indigo {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-indigo-rgb), var(--bs-bg-opacity)) !important;
}

.bg-purple {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-purple-rgb), var(--bs-bg-opacity)) !important;
}

.bg-pink {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-pink-rgb), var(--bs-bg-opacity)) !important;
}

.bg-red {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-red-rgb), var(--bs-bg-opacity)) !important;
}

.bg-orange {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-orange-rgb), var(--bs-bg-opacity)) !important;
}

.bg-yellow {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-yellow-rgb), var(--bs-bg-opacity)) !important;
}

.bg-green {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-green-rgb), var(--bs-bg-opacity)) !important;
}

.bg-teal {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-teal-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-gray {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-rgb), var(--bs-bg-opacity)) !important;
}

.bg-gray-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-dark-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-100-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-200-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-300-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-400-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-500 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-500-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-600-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-700-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-800-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-900-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bs-bg-opacity: 1;
}

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

/* 背景裁剪 */
.bg-clip-border{
  background-clip:border-box !important;
}
.bg-clip-padding{
  background-clip:padding-box !important;
}
.bg-clip-content{
  background-clip:content-box !important;
}

/* 背景重复 */
.bg-repeat-all{
  background-repeat: repeat !important;
}
.bg-repeat-none{
  background-repeat: no-repeat !important;
}
.bg-repeat-x{
  background-repeat: repeat-x !important;
}
.bg-repeat-y{
  background-repeat: repeat-y !important;
}

/* 背景尺寸 */
.bg-size-fluid{
  background-size: 100% 100% !important;
}
.bg-size-auto{
  background-size: auto !important;
}
.bg-size-contain{
  background-size: contain !important;
}
.bg-size-cover{
  background-size: cover !important;
}
.bg-size-x{
  background-size: 100% auto !important;
}
.bg-size-y{
  background-size: auto 100% !important;
}
@media (min-width: 576px) {
  .bg-size-sm-fluid{
    background-size: 100% 100% !important;
  }
  .bg-size-sm-auto{
    background-size: auto !important;
  }
  .bg-size-sm-contain{
    background-size: contain !important;
  }
  .bg-size-sm-cover{
    background-size: cover !important;
  }
  .bg-size-sm-x{
    background-size: 100% auto !important;
  }
  .bg-size-sm-y{
    background-size: auto 100% !important;
  }
}
@media (min-width: 768px) {
  .bg-size-md-fluid{
    background-size: 100% 100% !important;
  }
  .bg-size-md-auto{
    background-size: auto !important;
  }
  .bg-size-md-contain{
    background-size: contain !important;
  }
  .bg-size-md-cover{
    background-size: cover !important;
  }
  .bg-size-md-x{
    background-size: 100% auto !important;
  }
  .bg-size-md-y{
    background-size: auto 100% !important;
  }
}
@media (min-width: 992px) {
  .bg-size-lg-fluid{
    background-size: 100% 100% !important;
  }
  .bg-size-lg-auto{
    background-size: auto !important;
  }
  .bg-size-lg-contain{
    background-size: contain !important;
  }
  .bg-size-lg-cover{
    background-size: cover !important;
  }
  .bg-size-lg-x{
    background-size: 100% auto !important;
  }
  .bg-size-lg-y{
    background-size: auto 100% !important;
  }
}
@media (min-width: 1200px) {
  .bg-size-xl-fluid{
    background-size: 100% 100% !important;
  }
  .bg-size-xl-auto{
    background-size: auto !important;
  }
  .bg-size-xl-contain{
    background-size: contain !important;
  }
  .bg-size-xl-cover{
    background-size: cover !important;
  }
  .bg-size-xl-x{
    background-size: 100% auto !important;
  }
  .bg-size-xl-y{
    background-size: auto 100% !important;
  }
}
@media (min-width: 1400px) {
  .bg-size-xxl-fluid{
    background-size: 100% 100% !important;
  }
  .bg-size-xxl-auto{
    background-size: auto !important;
  }
  .bg-size-xxl-contain{
    background-size: contain !important;
  }
  .bg-size-xxl-cover{
    background-size: cover !important;
  }
  .bg-size-xxl-x{
    background-size: 100% auto !important;
  }
  .bg-size-xxl-y{
    background-size: auto 100% !important;
  }
}

/* 定位相对位置 */
.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-position-tl{
  background-position:top left !important;
}
.bg-position-tc{
  background-position:top center !important;
}
.bg-position-tr{
  background-position:top right !important;
}
.bg-position-cl{
  background-position:center left !important;
}
.bg-position-cc{
  background-position:center center !important;
}
.bg-position-cr{
  background-position:center right !important;
}
.bg-position-bl{
  background-position:bottom left !important;
}
.bg-position-bc{
  background-position:bottom center !important;
}
.bg-position-br{
  background-position:bottom right !important;
}
@media (min-width: 576px) {
  .bg-position-sm-tl{
    background-position:top left !important;
  }
  .bg-position-sm-tc{
    background-position:top center !important;
  }
  .bg-position-sm-tr{
    background-position:top right !important;
  }
  .bg-position-sm-cl{
    background-position:center left !important;
  }
  .bg-position-sm-cc{
    background-position:center center !important;
  }
  .bg-position-sm-cr{
    background-position:center right !important;
  }
  .bg-position-sm-bl{
    background-position:bottom left !important;
  }
  .bg-position-sm-bc{
    background-position:bottom center !important;
  }
  .bg-position-sm-br{
    background-position:bottom right !important;
  }
}
@media (min-width: 768px) {
  .bg-position-md-tl{
    background-position:top left !important;
  }
  .bg-position-md-tc{
    background-position:top center !important;
  }
  .bg-position-md-tr{
    background-position:top right !important;
  }
  .bg-position-md-cl{
    background-position:center left !important;
  }
  .bg-position-md-cc{
    background-position:center center !important;
  }
  .bg-position-md-cr{
    background-position:center right !important;
  }
  .bg-position-md-bl{
    background-position:bottom left !important;
  }
  .bg-position-md-bc{
    background-position:bottom center !important;
  }
  .bg-position-md-br{
    background-position:bottom right !important;
  }
}
@media (min-width: 992px) {
  .bg-position-lg-tl{
    background-position:top left !important;
  }
  .bg-position-lg-tc{
    background-position:top center !important;
  }
  .bg-position-lg-tr{
    background-position:top right !important;
  }
  .bg-position-lg-cl{
    background-position:center left !important;
  }
  .bg-position-lg-cc{
    background-position:center center !important;
  }
  .bg-position-lg-cr{
    background-position:center right !important;
  }
  .bg-position-lg-bl{
    background-position:bottom left !important;
  }
  .bg-position-lg-bc{
    background-position:bottom center !important;
  }
  .bg-position-lg-br{
    background-position:bottom right !important;
  }
}
@media (min-width: 1200px) {
  .bg-position-xl-tl{
    background-position:top left !important;
  }
  .bg-position-xl-tc{
    background-position:top center !important;
  }
  .bg-position-xl-tr{
    background-position:top right !important;
  }
  .bg-position-xl-cl{
    background-position:center left !important;
  }
  .bg-position-xl-cc{
    background-position:center center !important;
  }
  .bg-position-xl-cr{
    background-position:center right !important;
  }
  .bg-position-xl-bl{
    background-position:bottom left !important;
  }
  .bg-position-xl-bc{
    background-position:bottom center !important;
  }
  .bg-position-xl-br{
    background-position:bottom right !important;
  }
}
@media (min-width: 1400px) {
  .bg-position-xxl-tl{
    background-position:top left !important;
  }
  .bg-position-xxl-tc{
    background-position:top center !important;
  }
  .bg-position-xxl-tr{
    background-position:top right !important;
  }
  .bg-position-xxl-cl{
    background-position:center left !important;
  }
  .bg-position-xxl-cc{
    background-position:center center !important;
  }
  .bg-position-xxl-cr{
    background-position:center right !important;
  }
  .bg-position-xxl-bl{
    background-position:bottom left !important;
  }
  .bg-position-xxl-bc{
    background-position:bottom center !important;
  }
  .bg-position-xxl-br{
    background-position:bottom right !important;
  }
}



/* user-select */
.user-select-all {
  -webkit-user-select: all !important;
  -moz-user-select: all !important;
  user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  user-select: none !important;
}


/* 显示隐藏但是占位 */
.show {
  visibility: visible !important;
}

.hidden {
  visibility: hidden !important;
}

/* 事件屏蔽 */
.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

/* 鼠标类型 */
/* 小手 */
.hand {
  cursor: pointer !important;
}

/* text */

/* 字体 */
/* 这个数字用的 */
.fa-fantasy{
  font-family: fantasy;
}

/* 字符样式 */
.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

/* 字体粗细 */
.fw-1 {
  font-weight: 100 !important;
}
.fw-2 {
  font-weight: 200 !important;
}
.fw-3 {
  font-weight: 300 !important;
}
.fw-4 {
  font-weight: 400 !important;
}
.fw-5 {
  font-weight: 500 !important;
}
.fw-6 {
  font-weight: 600 !important;
}
.fw-7 {
  font-weight: 700 !important;
}
.fw-8 {
  font-weight: 800 !important;
}
.fw-9 {
  font-weight: 900 !important;
}

.fw-lighter {
  font-weight: lighter !important;
}
.fw-normal {
  font-weight: normal !important;
}
.fw-bold {
  font-weight: bold !important;
}
.fw-bolder {
  font-weight: bolder !important;
}

/* 字体下划线或者中间线 */
.text-decoration-none {
  text-decoration: none !important;
}
/*下划线*/
.text-decoration-underline {
  text-decoration: underline !important;
}
/*中间线*/
.text-decoration-line-through {
  text-decoration: line-through !important;
}

/* 字母大小写 */
/*全小写*/
.text-lower {
  text-transform: lowercase !important;
}
/*全大写*/
.text-upper {
  text-transform: uppercase !important;
}
/*首字母*/
.text-ucfirst {
  text-transform: capitalize !important;
}

/* 字符换行 */
.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* 单词允许换行 */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* 字体对齐 */
.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}
@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .text-xxl-left {
    text-align: left !important;
  }
  .text-xxl-right {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}

/* 文字溢出 */
/* 单行(这个注意可能会导致flex布局和grid布局整页面宽度错误) */
.text-spill{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* 多行 */
.text-spills{
  --bs-line-clamp:3;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: var(--bs-line-clamp); 
  -webkit-box-orient: vertical;
}
.text-line-1{
  --bs-line-clamp:1;
}
.text-line-2{
  --bs-line-clamp:2;
}
.text-line-3{
  --bs-line-clamp:3;
}
.text-line-4{
  --bs-line-clamp:4;
}
.text-line-5{
  --bs-line-clamp:5;
}
@media (min-width: 576px) {
  .text-line-sm-1{
    --bs-line-clamp:1;
  }
  .text-line-sm-2{
    --bs-line-clamp:2;
  }
  .text-line-sm-3{
    --bs-line-clamp:3;
  }
  .text-line-sm-4{
    --bs-line-clamp:4;
  }
  .text-line-sm-5{
    --bs-line-clamp:5;
  }
}
@media (min-width: 768px) {
  .text-line-md-1{
    --bs-line-clamp:1;
  }
  .text-line-md-2{
    --bs-line-clamp:2;
  }
  .text-line-md-3{
    --bs-line-clamp:3;
  }
  .text-line-md-4{
    --bs-line-clamp:4;
  }
  .text-line-md-5{
    --bs-line-clamp:5;
  }
}
@media (min-width: 992px) {
  .text-line-lg-1{
    --bs-line-clamp:1;
  }
  .text-line-lg-2{
    --bs-line-clamp:2;
  }
  .text-line-lg-3{
    --bs-line-clamp:3;
  }
  .text-line-lg-4{
    --bs-line-clamp:4;
  }
  .text-line-lg-5{
    --bs-line-clamp:5;
  }
}
@media (min-width: 1200px) {
  .text-line-xl-1{
    --bs-line-clamp:1;
  }
  .text-line-xl-2{
    --bs-line-clamp:2;
  }
  .text-line-xl-3{
    --bs-line-clamp:3;
  }
  .text-line-xl-4{
    --bs-line-clamp:4;
  }
  .text-line-xl-5{
    --bs-line-clamp:5;
  }
}
@media (min-width: 1400px) {
  .text-line-xxl-1{
    --bs-line-clamp:1;
  }
  .text-line-xxl-2{
    --bs-line-clamp:2;
  }
  .text-line-xxl-3{
    --bs-line-clamp:3;
  }
  .text-line-xxl-4{
    --bs-line-clamp:4;
  }
  .text-line-xxl-5{
    --bs-line-clamp:5;
  }
}



/* 字体颜色 */
.text-blue {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-blue-rgb), var(--bs-text-opacity)) !important;
}

.text-cyan {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-cyan-rgb), var(--bs-text-opacity)) !important;
}

.text-indigo {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-indigo-rgb), var(--bs-text-opacity)) !important;
}

.text-purple {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-purple-rgb), var(--bs-text-opacity)) !important;
}

.text-pink {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-pink-rgb), var(--bs-text-opacity)) !important;
}

.text-red {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-red-rgb), var(--bs-text-opacity)) !important;
}

.text-orange {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-orange-rgb), var(--bs-text-opacity)) !important;
}

.text-yellow {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-yellow-rgb), var(--bs-text-opacity)) !important;
}

.text-green {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-green-rgb), var(--bs-text-opacity)) !important;
}

.text-teal {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-teal-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-gray {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-100 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-100-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-200 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-200-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-300 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-300-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-400 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-400-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-500 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-500-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-600 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-600-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-700 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-700-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-800 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-800-rgb), var(--bs-text-opacity)) !important;
}

.text-gray-900 {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-900-rgb), var(--bs-text-opacity)) !important;
}

.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-default {
  --bs-text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --bs-text-opacity: 0.25;
}

.text-opacity-50 {
  --bs-text-opacity: 0.5;
}

.text-opacity-75 {
  --bs-text-opacity: 0.75;
}

.text-opacity-100 {
  --bs-text-opacity: 1;
}

.hover-blue {
  color: #0d6efd !important;
}
.hover-blue:hover, .hover-blue:focus {
  color: #0a58ca !important;
}

.hover-gray {
  color: #6c757d !important;
}
.hover-gray:hover, .hover-gray:focus {
  color: #565e64 !important;
}

.hover-green {
  color: #198754 !important;
}
.hover-green:hover, .hover-green:focus {
  color: #146c43 !important;
}

.hover-cyan {
  color: #0dcaf0 !important;
}
.hover-cyan:hover, .hover-cyan:focus {
  color: #3dd5f3 !important;
}

.hover-yellow {
  color: #ffc107 !important;
}
.hover-yellow:hover, .hover-yellow:focus {
  color: #ffcd39 !important;
}

.hover-red {
  color: #dc3545 !important;
}
.hover-red:hover, .hover-red:focus {
  color: #b02a37 !important;
}

.hover-light {
  color: #f8f9fa !important;
}
.hover-light:hover, .hover-light:focus {
  color: #f9fafb !important;
}

.hover-dark {
  color: #212529 !important;
}
.hover-dark:hover, .hover-dark:focus {
  color: #1a1e21 !important;
}

.text-bg-blue {
  color: #fff !important;
  background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-gray {
  color: #fff !important;
  background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-green {
  color: #fff !important;
  background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-cyan {
  color: #000 !important;
  background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-yellow {
  color: #000 !important;
  background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-red {
  color: #fff !important;
  background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important;
}


/* 行高 */
.lh-1 {
  line-height: 1 !important;
}

.lh-2 {
  line-height: 1.25 !important;
}

.lh-3 {
  line-height: 1.5 !important;
}

.lh-4 {
  line-height: 2 !important;
}



/* 字体 */
.fs-0 {
  font-size: 0.4rem !important;
}
.fs-1 {
  font-size: 0.32rem !important;
}
.fs-2 {
  font-size: 0.24rem !important;
}
.fs-3 {
  font-size: 0.18rem !important;
}
.fs-4 {
  font-size: 0.16rem !important;
}
.fs-5 {
  font-size: 0.135rem !important;
}
.fs-6 {
  font-size: 0.12rem !important;
}

@media (min-width: 480px) {
    
}
@media (min-width: 768px) {
  .fs-0 {
    font-size: calc(0.16rem + 2.3vw) !important;
  }

  .fs-1 {
    font-size: calc(0.16rem + 1.63vw) !important;
  }

  .fs-2 {
    font-size: calc(0.16rem + 0.96vw) !important;
  }

  .fs-3 {
    font-size: calc(0.16rem + 0.46vw) !important;
  }
}
@media (min-width: 992px) {
  .fs-0 {
    font-size: calc(0.16rem + 2.0vw) !important;
  }

  .fs-1 {
    font-size: calc(0.16rem + 1.33vw) !important;
  }

  .fs-2 {
    font-size: calc(0.16rem + 0.66vw) !important;
  }

  .fs-3 {
    font-size: calc(0.16rem + 0.16vw) !important;
  }
}
@media (min-width: 1200px) {
  .fs-0 {
    font-size: 0.4rem !important;
  }
  .fs-1 {
    font-size: 0.32rem !important;
  }
  .fs-2 {
    font-size: 0.24rem !important;
  }
  .fs-3 {
    font-size: 0.18rem !important;
  }
  .fs-4 {
    font-size: 0.16rem !important;
  }
}
@media (min-width: 1400px) {
  
}















/* 动画 */

/* transform */
.transition{
  transition:all 1s ease 0s;
}
.transform-duration-1{
  transition-duration: 1s !important;
}
.transform-duration-2{
  transition-duration: 1.25s !important;
}
.transform-duration-3{
  transition-duration: 1.5s !important;
}
.transform-duration-4{
  transition-duration: 2s !important;
}
/* 自定义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
Curl Top Left | Curl Top Right | Curl Bottom Right | Curl Bottom Left
*/


/* 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-fluid">
  <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{
  padding-top:0.6rem;
  padding-bottom:0.6rem;
}
.tit{
  text-align: center;
  margin: 0 auto 0.15rem;
  position: relative;
}
/*样式1*/
.line{
  padding-bottom:0.15rem;
}
.line::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 1.5rem;
  height: 2px;
  margin: 0 auto;
  /* 径向渐变 */
  background: radial-gradient(75% 150%,var(--bs-hover-def-bg-color) 30%,rgb(230, 230, 230) 0,rgba(230, 230, 230, 0.2) 70%);
  background-size: 100%;
}
/*样式1*/
.tit h3{
  font-size:0.4rem;
  font-weight:bolder;
  position: relative;
}
.tit h3 span{
  color:var(--bs-hover-def-bg-color);
}
.tit h4{
  font-size:0.18rem;
  font-weight:normal;
  margin-top:0.1rem;
}

/* 更多按钮 */
.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;
}

/* 菜单 */
#btn-menu{
  font-size: 0.4rem;
}
#menu{
  font-size: 0.2rem;
}

/* 左侧菜单 */
