.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

.lh-0 {
  line-height: 0 !important;
}

/** Text Alignment **/
.ta-left {
  text-align: left;
}

.ta-right {
  text-align: right;
}

.ta-justify {
  text-align: justify;
}

/** Content Card **/

.cc {
  margin: var(--layout-content-space) 0;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-shadow: 0 2px 0 rgb(0 0 0 /20%);
}

.dark-theme .cc {
  background: #333333;
}

.cc .cc-head {
  border-radius: 5px 5px 0 0;
  position: relative;
}

.cc-head.cc-dark {
  background: var(--color-primary);
  color: rgb(255 255 255 /80%);
}

.dark-theme .cc-head.cc-dark {
  background: var(--color-primary-dark);
}

.cc-head.cc-dark h1,
.cc-head.cc-dark h2 {
  color: #fff;
  text-shadow: 1px 1px 1px rgb(0 0 0 /50%);
}

.cc-head.cc-dark p {
  color: rgb(255 255 255 /80%);
}

.cc.cc-full-width {
  box-shadow: none;
}

.cc.cc-full-width .cc-head {
  border-radius: 5px;
  overflow: hidden;
  box-shadow: var(--layout-box-shadow);
}

.cc.cc-full-width .cc-footer {
  border: 1px solid var(--color-light-gray);
  border-radius: 5px;
  background: var(--color-light-gray);
}

.cc.cc-full-width .cc-content {
  margin: var(--layout-content-space) 0;
  border-top: none;
  padding: 0;
}

.cc.cc-section .cc-head {
  background: linear-gradient(90deg, #2e0259, #ff398b);
  position: relative;
}

.cc-icon-bg i.fa {
  position: absolute;
  color: #fff;
  font-size: 72px;
  right: 5px;
  opacity: 0.5;
  text-shadow: 1px 1px 1px rgb(0 0 0 /20%);
  top: 5px;
}

.cc-content h4 {
  font-size: 18px;
  margin: 0 0 10px 0;
}

.cc-head,
.cc-content,
.cc-footer {
  padding: var(--layout-space);
  overflow: hidden;
  text-overflow: ellipsis;
}

.cc-head h2 {
  font-size: 22px;
  margin: 0;
}

.cc-head h3 {
  font-size: 20px;
  margin: 0;
}

.cc-head p {
  font-size: 14px;
  line-height: 1.5;
  margin: 5px 0 0 0;
  color: var(--text-color-gray);
}

.cc-content,
.cc-footer {
  border-top: 1px solid var(--color-light-gray);
}

.cc .no-border {
  border-top: none;
}

.cc-footer .post-meta {
  font-size: 14px;
  color: var(--text-color-gray);
}

.cc-col {
  display: flex;
  column-gap: 15px;
}

.tc-gray {
  color: var(--text-color-gray);
}

.fs-08rem {
  font-size: 0.8rem;
}

/**** Basic Flexbox ****/
.fb {
  display: flex;
  column-gap: 15px;
  row-gap: 15px;
}

.fb.fgap25 {
  column-gap: 25px;
  row-gap: 25px;
}

.fb img {
  max-width: 100%;
  height: auto;
}

.fb-left {
  justify-content: left !important;
}

.fb-right {
  justify-content: right !important;
}

.fb-center {
  justify-content: center !important;
}

.fb.fb-row {
  flex-direction: row;
}

.fb.fb-wrap {
  flex-wrap: wrap;
}

.fb-item.fgrow {
  flex-grow: 1;
}

.fb-item.fshrink {
  flex-shrink: 1;
}

.fb-item.f30 {
  flex-basis: 30%;
}

.fb-item.f40 {
  flex-basis: 40%;
}

.fb-item.f50 {
  flex-basis: 50%;
}

.fb-item.f60 {
  flex-basis: 60%;
}

.fb-item.f70 {
  flex-basis: 70%;
}

.fb-item.f80 {
  flex-basis: 80%;
}

.fb-item.f90 {
  flex-basis: 90%;
}

.fb-item.f100 {
  flex-basis: 100%;
}

.bg-gradient-blue {
  background: linear-gradient(176deg,
      #5496c522,
      white 15%,
      white 80%,
      #5496c522);
}

/** a button **/
.a-buttons {
  display: flex;
  column-gap: 15px;
  row-gap: 15px;
  justify-content: right;
  flex-grow: 1;
  flex-wrap: wrap;
}

.a-buttons a {
  background: var(--color-primary);
  color: #fff;
  padding: 3px 12px;
  border-radius: 5px;
  box-shadow: 0 2px 0 var(--color-primary-dark);
}

.a-buttons a:hover {
  margin-top: -1px;
  margin-bottom: 1px;
  background: var(--color-primary-light);
  box-shadow: 0 3px 0 var(--color-primary-dark);
}

/**** Table Style ****/
figcaption {
  color: #888;
  margin: 5px 0;
  font-size: 14px;
}

.table-spec {
  font-size: 14px;
  line-height: 24px;
  margin: 1.3em 0;
}

.table-spec table {
  width: 100%;
}

.table-spec-1 table thead {
  border-bottom: 2px solid #ddd;
}

.table-spec-1 table thead th {
  text-align: left;
}

.table-spec-1 table tr td {
  border-top: 1px solid #ddd;
}

.table-spec-1 table tr th,
.table-spec-1 table tr td {
  padding: 5px 10px 5px 0px;
  vertical-align: top;
}

.table-spec-1 table tr td:nth-child(1) {
  color: #555;
}

/*** Sticky ***/
.sticky {
  position: sticky;
  top: 0;
  z-index: 100;
  border-radius: 0 0 5px 5px;
  overflow: hidden;
}

.cc.sticky{
  background: #ffffffaa;
  backdrop-filter: blur(10px);
}
/*** Horizontally scroll ***/
.scroll-x {
  width: 100%;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  position: relative;
}

.scroll-x::-webkit-scrollbar {
  display: none;
}

.scroll-x>* {
  white-space: nowrap;
}

/*** Link Group ***/

.link-groups {
  column-count: 2;
  column-gap: 25px;
}

@media (max-width: 768px) {
  .link-groups {
    column-count: 1;
  }
}

.link-group {
  margin-bottom: 25px;
  border-radius: 5px;
  box-shadow: var(--layout-box-shadow);
  padding: 20px 0 0 0;
  overflow: hidden;
  line-height: 1.2em;
  font-size: 14px;
}

.link-group__title {
  font-size: 24px;
  font-weight: 300;
  margin: 0 0 20px;
  line-height: 1.2em;
  position: relative;
  padding-left: 60px;
}

.link-group__title i {
  border-radius: 5px;
  font-size: 16px;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 28px;
  overflow: hidden;
  position: absolute;
  left: 20px;
  top: 0;
  background: linear-gradient(var(--color-primary-dark),
      var(--color-primary-light));
  color: #fff;
}

.link-group ul,
.link-group ol {
  padding-left: 0;
  margin: 0;
  list-style: none;
}

.link-group ul li,
.link-group ol li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--color-light-gray);
}

.link-group a {
  display: block;
  padding: 10px 20px;
  color: #222;
  transition: background 0.15s;
}

.link-group a:hover {
  background: rgb(var(--color-primary-rgb), 0.1);
}

.link-group li:last-child {
  border-bottom: none;
}
/* 
#wpadminbar{
  position: absolute !important;
} */

