/*
            /$$
    /$$    /$$$$
   | $$   |_  $$    /$$$$$$$
 /$$$$$$$$  | $$   /$$_____/
|__  $$__/  | $$  |  $$$$$$
   | $$     | $$   \____  $$
   |__/    /$$$$$$ /$$$$$$$/21
          |______/|_______/
================================
        Keep calm and get rich.
                    Is the best.

---------------------------------------------

Theme Name: hotwheat
Theme URI: https://www.nicetheme.cn/
Author: nicetheme
Author URI: https://www.nicetheme.cn/
Description: nicetheme theme base.
Version: 1.0.0
License URI: LICENSE
Text Domain: hotwheat

*/

/*--------------------------------------------------------------
## Text color style
--------------------------------------------------------------*/

.text-primary {
    color: var(--color-primary) !important;
}

.text-dark {
    color: var(--color-dark) !important;
}

.text-secondary {
    color: var(--color-secondary) !important;
}

.text-muted {
    color: var(--color-muted) !important;
}

.text-light {
    color: var(--color-light) !important;
}

.text-danger {
    color: var(--color-danger) !important;
}

.text-warning {
    color: var(--color-warning) !important;
}

/*--------------------------------------------------------------
## Background style
--------------------------------------------------------------*/

.bg-primary {
    background-color: var(--color-primary) !important;
}

.bg-dark {
    background-color: var(--bg-dark) !important;
}

.bg-secondary {
    background-color: var(--bg-secondary) !important;
}

.bg-light {
    background-color: var(--bg-light) !important;
}

.bg-white-overlay {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.35);
}

.bg-dark-overlay {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.33);
}

.bg-img {
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.bg-effect {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.bg-poster {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.bg-fixed {
    background-attachment: fixed;
}

/*--------------------------------------------------------------
## Buttons
  --------------------------------------------------------------*/

.btn {
    padding: .5rem 1.625rem;
    white-space: normal;
    border-radius: 0;
    transition: all 0.2s ease-in-out;
}

.btn:hover,
.btn:focus,
.btn:active,
.btn.active {
    box-shadow: none !important;
}

.btn.disabled,
.btn:disabled {
    color: var(--color-muted);
    border-color: var(--gray-3);
    background-color: var(--gray-3);
}

.btn.loading {
    position: relative;
    cursor: wait !important;
    color: var(--color-muted);
    border-color: var(--gray-3);
    background-color: var(--gray-3);
    pointer-events: none;
}

.btn.active,
.btn.show {
    --bs-btn-active-color: var(--color-light);
    --bs-btn-active-bg: var(--bg-secondary);
    --bs-btn-active-border-color: var(--border-secondary);
}

/*--------------------------------------------------------------
## Button style
  --------------------------------------------------------------*/

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-primary);
    --bs-btn-hover-border-color: var(--color-primary);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-border-color: var(--color-primary);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-primary);
    --bs-btn-disabled-border-color: var(--color-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    opacity: 0.8;
}

/*--------------------------------------------------------------
## Button secondary style
  --------------------------------------------------------------*/

.btn-secondary {
    --bs-btn-color: var(--gray-2);
    --bs-btn-bg: var(--bg-secondary);
    --bs-btn-border-color: var(--border-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bg-secondary);
    --bs-btn-hover-border-color: var(--border-secondary);
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bg-secondary);
    --bs-btn-active-border-color: var(--border-secondary);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-light);
    --bs-btn-disabled-bg: var(--bg-secondary);
    --bs-btn-disabled-border-color: var(--border-secondary);
}

/*--------------------------------------------------------------
## Button light style
  --------------------------------------------------------------*/

.btn-light {
    --bs-btn-color: var(--color-muted);
    --bs-btn-bg: var(--bg-light);
    --bs-btn-border-color: var(--border-color);
    --bs-btn-hover-color: var(--color-muted);
    --bs-btn-hover-bg: var(--bg-light);
    --bs-btn-hover-border-color: var(--border-color);
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-active-color: var(--color-dark);
    --bs-btn-active-bg: var(--border-light);
    --bs-btn-active-border-color: var(--border-color);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-light);
    --bs-btn-disabled-bg: var(--bg-light);
    --bs-btn-disabled-border-color: var(--bg-light);
}


.btn-light:hover {
    --bs-btn-hover-color: var(--color-dark);
    --bs-btn-hover-bg: var(--bg-light);
    --bs-btn-hover-border-color: var(--border-color);
}

.btn-light:focus {
    --bs-btn-focus-color: var(--color-dark);
    --bs-btn-focus-bg: var(--bg-light);
    --bs-btn-focus-border-color: var(--border-color);
}

.btn-light:active,
.btn-light.active {
    --bs-btn-active-color: var(--color-dark);
    --bs-btn-active-bg: var(--bg-light);
    --bs-btn-active-border-color: var(--border-color);
}

/*--------------------------------------------------------------
## Button dark style
  --------------------------------------------------------------*/

.btn-dark {
    --bs-btn-color: var(--gray-1);
    --bs-btn-bg: var(--bg-dark);
    --bs-btn-border-color: var(--border-dark);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bg-secondary);
    --bs-btn-hover-border-color: var(--border-secondary);
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bg-secondary);
    --bs-btn-active-border-color: var(--border-secondary);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-light);
    --bs-btn-disabled-bg: var(--bg-secondary);
    --bs-btn-disabled-border-color: var(--border-secondary);
}

/*--------------------------------------------------------------
## Button danger style
  --------------------------------------------------------------*/
.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-danger);
    --bs-btn-border-color: var(--color-danger);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-danger);
    --bs-btn-hover-border-color: var(--color-danger);
    --bs-btn-focus-shadow-rgb: 225, 83, 97;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-danger);
    --bs-btn-active-border-color: var(--color-danger);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-danger);
    --bs-btn-disabled-border-color: var(--color-danger);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger.active,
.btn-danger:active {
    opacity: .8;
}

.btn-danger:disabled,
.btn-danger.disabled {
    opacity: .6;
}

/*--------------------------------------------------------------
## Button link style
  --------------------------------------------------------------*/
.btn-link {
    --bs-btn-color: var(--color-light);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: #fff;
    text-decoration: none;
    border-color: transparent;
}

.btn-link:hover,
.btn-link:focus,
.btn-link.active,
.btn-link:active {
    background-color: transparent;
}

.btn-link:disabled,
.btn-link.disabled {
    background-color: transparent;
}

/*--------------------------------------------------------------
## Button success style
  --------------------------------------------------------------*/
.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-success);
    --bs-btn-border-color: var(--color-success);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-success);
    --bs-btn-hover-border-color: var(--color-success);
    --bs-btn-focus-shadow-rgb: 60, 153, 110;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-success);
    --bs-btn-active-border-color: var(--color-success);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-success);
    --bs-btn-disabled-border-color: var(--color-success);
}

.btn-success:hover,
.btn-success:focus,
.btn-success.active,
.btn-success:active {
    opacity: .8;
}

.btn-success:disabled,
.btn-success.disabled {
    opacity: .6;
}

/*--------------------------------------------------------------
## Button outline style
  --------------------------------------------------------------*/
.btn-outline-primary {
    --bs-btn-color: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-primary);
    --bs-btn-hover-border-color: var(--color-primary);
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-border-color: var(--color-primary);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-primary);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--color-primary);
    --bs-gradient: none;
}

.btn-outline-primary.active,
.btn-outline-primary.show {
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-border-color: var(--color-primary);
}

/*--------------------------------------------------------------
## Button outline dark style
  --------------------------------------------------------------*/
.btn-outline-dark {
    --bs-btn-color: var(--color-muted);
    --bs-btn-border-color: var(--border-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bg-light);
    --bs-btn-hover-border-color: var(--bg-light);
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bg-light);
    --bs-btn-active-border-color: var(--bg-light);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-light);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--border-secondary);
    --bs-gradient: none;
}

/*--------------------------------------------------------------
## Button outline secondary style
  --------------------------------------------------------------*/
.btn-outline-secondary {
    --bs-btn-color: var(--color-muted);
    --bs-btn-border-color: var(--border-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bg-light);
    --bs-btn-hover-border-color: var(--bg-light);
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bg-light);
    --bs-btn-active-border-color: var(--bg-light);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-light);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--border-secondary);
    --bs-gradient: none;

}

/*--------------------------------------------------------------
## Button outline success style
  --------------------------------------------------------------*/
.btn-outline-success {
    --bs-btn-color: var(--color-success);
    --bs-btn-border-color: var(--color-success);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-success);
    --bs-btn-hover-border-color: var(--color-success);
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-success);
    --bs-btn-active-border-color: var(--color-success);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-success);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--color-success);
    --bs-gradient: none;
}

.btn-outline-success.active,
.btn-outline-success.show {
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-success);
    --bs-btn-active-border-color: var(--color-success);
}

/*--------------------------------------------------------------
## Button outline light style
  --------------------------------------------------------------*/

.btn-outline-light {
    --bs-btn-color: var(--color-muted);
    --bs-btn-border-color: var(--border-light);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-primary);
    --bs-btn-hover-border-color: var(--color-primary);
    --bs-btn-focus-shadow-rgb: 248, 249, 250;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-border-color: var(--color-primary);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-muted);
    --bs-btn-disabled-bg: var(--bg-light);
    --bs-btn-disabled-border-color: var(--border-light);
    --bs-gradient: none;
}

.btn-outline-light.active,
.btn-outline-light.show {
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bg-dark);
    --bs-btn-active-border-color: var(--bg-dark);
}

/*--------------------------------------------------------------
## Button size style
  --------------------------------------------------------------*/

.btn-xs {
    --bs-btn-font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
}

.btn-sm {
    padding: 0.375rem .75rem;
}

.btn-lg {
    --bs-btn-font-size: 1.125rem;
    padding: 0.625rem 1.125rem;
}

.btn-block {
    width: 100%;
    display: block;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.btn-xs.btn-rounded {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}

.btn-lg.btn-rounded {
    border-radius: 4rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .btn-sm {
        --bs-btn-font-size: 0.8125rem;
    }

    .btn-lg {
        --bs-btn-font-size: 0.9375rem;
    }
}

@media (max-width: 767.98px) {
    .btn {
        --bs-btn-font-size: 0.875rem;
        padding: 0.5rem 1.25rem;
    }

    .btn-xs {
        --bs-btn-font-size: 0.875rem;
        padding: 0.25rem 0.625rem;
    }

    .btn-sm {
        --bs-btn-font-size: 0.875rem;
        padding: 0.3125rem 0.625rem;
    }

    .btn-lg {
        --bs-btn-font-size: 1rem;
        padding: 0.625rem 1.25rem;
    }
}

/*--------------------------------------------------------------
## Button radius style
  --------------------------------------------------------------*/

.btn-rounded {
    border-radius: 5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.rounded {
    border-radius: var(--border-radius-sm) !important;
}

.rounded-1 {
    border-radius: var(--border-radius-xs) !important;
}

.rounded-2 {
    border-radius: var(--border-radius-sm) !important;
}

.rounded-3 {
    border-radius: var(--border-radius-md) !important;
}

/*--------------------------------------------------------------
## Button icon style
  --------------------------------------------------------------*/

.btn-icon {
    --bs-btn-font-size: 1.375rem;
    position: relative;
    width: 2.625rem;
    height: 2.625rem;
    padding: 0;
    text-align: center;
}

.btn-icon span {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-icon.icon-expand-animation i {
    -webkit-animation: icon-expand-animation 1.2s both cubic-bezier(0.45, 0.05, 0.55, 0.95);
    animation: icon-expand-animation 1.2s both cubic-bezier(0.45, 0.05, 0.55, 0.95)
}

.btn-icon small {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 0.75rem;
    line-height: 1;
    padding: 0.125rem 0.3125rem;
    border-radius: 10px;
    color: #fff;
    background-color: var(--color-danger);
    transform: translate(35%, -30%);
    z-index: 2;
}

.btn-icon:hover,
.btn-icon:active,
.btn-icon:focus {
    box-shadow: none;
}

.btn-icon.btn-xs {
    --bs-btn-font-size: 1rem;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
}

.btn-icon.btn-sm {
    --bs-btn-font-size: 1.25rem;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
}

.btn-icon.btn-md {
    --bs-btn-font-size: 1.5rem;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
}

.btn-icon.btn-lg {
    --bs-btn-font-size: 1.625rem;
    width: 3rem;
    height: 3rem;
    padding: 0;
}

.btn-icon.btn-rounded {
    border-radius: 5rem;
}

@media (max-width: 767.98px) {
    .btn-icon.btn-sm {
        --bs-btn-font-size: 1.25rem;
        width: 2rem;
        height: 2rem;
        padding: 0;
    }

    .btn-icon.btn-md {
        --bs-btn-font-size: 1.125rem;
        width: 2.375rem;
        height: 2.375rem;
    }

    .btn-icon.btn-lg {
        --bs-btn-font-size: 1.5rem;
        width: 2.625rem;
        height: 2.625rem;
        padding: 0;
    }
}

/*--------------------------------------------------------------
## Border
--------------------------------------------------------------*/

.border-secondary {
    border-color: var(--border-secondary) !important;
}

.border-muted {
    border-color: var(--border-muted) !important;
}

.border-primary {
    border-color: var(--color-primary) !important;
}

.border-light {
    border-color: var(--border-light) !important;
}

/*--------------------------------------------------------------
## Border radius
--------------------------------------------------------------*/

.rounded {
    border-radius: var(--border-radius-sm) !important;
}

.rounded-1 {
    border-radius: var(--border-radius-xs) !important;
}

.rounded-2 {
    border-radius: var(--border-radius-md) !important;
}

.rounded-3 {
    border-radius: var(--border-radius-lg) !important;
}

/*--------------------------------------------------------------
## Form control
--------------------------------------------------------------*/

.form-control {
    font-size: 1rem;
    padding: 0.5rem .875rem;
    border-color: var(--border-light);
    background-color: transparent;
    color: var(--color-muted);
    border-radius: var(--border-radius-sm);
    transition: all 0.15s ease-in-out;
}

.form-control:focus,
.form-control:active {
    color: var(--color-dark);
    border-color: var(--color-primary);
    background-color: transparent;
    box-shadow: none;
}

.form-control::-webkit-input-placeholder {
    color: var(--color-muted);
    opacity: 1;
}

.form-control::-moz-placeholder {
    color: var(--color-muted);
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: var(--color-muted);
    opacity: 1;
}

.form-control::-ms-input-placeholder {
    color: var(--color-muted);
    opacity: 1;
}

.form-control::placeholder {
    color: var(--color-muted);
    opacity: 1;
}

.form-control:disabled,
.form-control[readonly] {
    color: var(--color-muted);
    border-color: var(--border-secondary);
    background-color: transparent;
    opacity: 1;
}

textarea.form-control {
    text-align: justify;
    height: auto;
    padding: 0.5rem 0.875rem;
}

.form-control-lg {
    padding: 0.625rem 1rem;
    font-size: 1.125rem;
}

@media (max-width: 767.98px) {
    .form-control {
        font-size: .875rem;
        padding: 0.5rem 0.75rem;
    }

    .form-control-lg {
        padding: 0.5rem 1rem;
        font-size: 1rem;
    }
}

/*--------------------------------------------------------------
## Form check style
--------------------------------------------------------------*/

.form-check {
    min-height: 0;
    padding-left: 2em;
    margin-bottom: 0;
}

.form-check .form-check-input {
    margin-left: -2em;
}

.form-check-input {
    background-color: var(--bg-secondary);
    border-color: var(--border-secondary);
    margin-top: 0.08em;
}

.form-check-input:active {
    -webkit-filter: brightness(90%);
    filter: brightness(90%);
}

.form-check-input:focus {
    border-color: var(--border-secondary);
    outline: 0;
    box-shadow: none;
}

.form-check-input:checked {
    background-color: var(--color-success);
    border-color: var(--color-success);
}

.form-check-input[type="checkbox"]:indeterminate {
    background-color: var(--color-success);
    border-color: var(--color-success);
}

.form-switch {
    padding-left: 40px;
}

.form-switch .form-check-input {
    width: 40px;
    height: 20px;
    margin-left: -40px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjZmZmJy8+PC9zdmc+");
    border-radius: 3em;
}

.form-switch .form-check-input:focus {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjZmZmJy8+PC9zdmc+");
}

.form-switch .form-check-input:checked {
    background-position: right center;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjZmZmJy8+PC9zdmc+");
}

/*--------------------------------------------------------------
## Avatar
--------------------------------------------------------------*/

.flex-avatar {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    line-height: 1;
    white-space: nowrap;
    font-weight: bold;
    text-transform: capitalize;
    border-radius: 100%;
}

.flex-avatar img {
    width: inherit;
    height: inherit;
    border-radius: inherit;
    -o-object-fit: cover;
    object-fit: cover;
}

.flex-avatar .avatar-online {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background-color: var(--color-success);
    border: 2px solid #fff;
}

.flex-avatar:hover .avatar-online:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-animation: circle-pulse 2s infinite;
    animation: circle-pulse 2s infinite;
    border-radius: 50%;
    box-shadow: 0 0 0 0 #4daa57
}

@-webkit-keyframes circle-pulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(77, 170, 87, 0.9)
    }

    50% {
        transform: scale(1);
        box-shadow: 0 0 0 8px rgba(77, 170, 87, 0)
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(77, 170, 87, 0)
    }
}

@keyframes circle-pulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(77, 170, 87, 0.9)
    }

    50% {
        transform: scale(1);
        box-shadow: 0 0 0 8px rgba(77, 170, 87, 0)
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(77, 170, 87, 0)
    }
}

.flex-avatar .avatar-badge {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 15px;
    height: 15px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translate(0%, 0%);
}

.flex-avatar .avatar-badge.badge_4 {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMTgiIGZpbGw9InVybCgjYSkiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yOC4yNSAxMS44NDRhMi4yMzIgMi4yMzIgMCAwIDEgMCAzLjE1NkwxNy41ODggMjUuNjYyYTIuMzggMi4zOCAwIDAgMS0zLjM2NiAwbC01LjY0NC01LjY0NGEyLjIzMiAyLjIzMiAwIDAgMSAzLjE1Ni0zLjE1NWw0LjE3IDQuMTcgOS4xOS05LjE4OWEyLjIzMiAyLjIzMiAwIDAgMSAzLjE1NiAwWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMzEuNzE0IiB4Mj0iLTMuNzMxIiB5MT0iLjg1NyIgeTI9IjExLjgzOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM0QUIzRkYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwRjdDRkQiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=');
}

.flex-avatar .avatar-badge.badge_5 {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMTgiIGZpbGw9InVybCgjYSkiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yOC4yNSAxMS44NDRhMi4yMzIgMi4yMzIgMCAwIDEgMCAzLjE1NkwxNy41ODggMjUuNjYyYTIuMzggMi4zOCAwIDAgMS0zLjM2NiAwbC01LjY0NC01LjY0NGEyLjIzMiAyLjIzMiAwIDAgMSAzLjE1Ni0zLjE1NWw0LjE3IDQuMTcgOS4xOS05LjE4OWEyLjIzMiAyLjIzMiAwIDAgMSAzLjE1NiAwWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMzEuNzE0IiB4Mj0iLTMuNzMxIiB5MT0iLjg1NyIgeTI9IjExLjgzOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGRkI3NEEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRDkwMEYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=');
}

.flex-avatar .avatar-badge.w-10 {
    width: 10px;
    height: 10px;
    right: 0;
    bottom: 0;
}

.flex-avatar .avatar-badge.w-12 {
    width: 12px;
    height: 12px;
    right: 1px;
    bottom: 1px;
}

.flex-avatar .avatar-badge.w-20 {
    width: 20px;
    height: 20px;
    right: 5px;
    bottom: 5px;
}

/*--------------------------------------------------------------
    avatar group
--------------------------------------------------------------*/

.avatar-group {
    display: -ms-flex;
    display: flex;
    align-items: center;
}

.avatar-group .flex-avatar {
    position: relative;
}

.avatar-group .flex-avatar + .flex-avatar {
    margin-left: -0.5rem;
}

.avatar-group .flex-avatar:hover,
.avatar-group .flex-avatar:active,
.avatar-group .flex-avatar.active {
    z-index: 1;
}

/*--------------------------------------------------------------
## Media
--------------------------------------------------------------*/

.media {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 0;
    flex-shrink: 0;
    border-radius: inherit;
}

.media:after {
    content: "";
    display: block;
    padding-top: 100%;
}

.media-overlay {
    position: absolute;
    display: flex;
    align-items: center;
    color: #fff;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.75rem;
    z-index: 1;
}

.media-opacity {
    opacity: 0.4;
    transition: 0.3s ease-out;
}

.media-overlay.bg-dark-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.media-overlay.overlay-top {
    bottom: auto;
}

.media-overlay.overlay-bottom {
    top: auto;
    background: rgba(0, 0, 0, 0.6);
    background: linear-gradient(to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 100%);
}

.media-action {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: opacity 0.3s;
    display: flex;
    align-items: center;
}

.media-action .btn {
    border-color: transparent;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
}

@media (max-width: 767.98px) {
    .media-overlay {
        padding: 0.5rem 0.625rem;
    }
}

.media-content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border: 0;
    border-radius: inherit;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-color: rgba(120, 120, 120, 0.1);
}

.media-content img {
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.media-contain {
    background-color: transparent;
    background-size: contain;
}

@media (max-width: 768px) {
    .media-content {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
    }
}

.media-36x17:after {
    padding-top: 47.222222%;
}

.media-21x9:after {
    padding-top: 42.857143%;
}

.media-16x9:after {
    padding-top: 56.25%;
}

.media-4x3:after {
    padding-top: 75%;
}

.media-2x3:after {
    padding-top: 150%;
}

.media-3x2:after {
    padding-top: 66.66666%;
}

.media-3x4:after {
    padding-top: 133.33333%;
}

.media-1x2:after {
    padding-top: 200%;
}

.media-2x1:after {
    padding-top: 50%;
}

.media-3x1:after {
    padding-top: 33%;
}

.media-4x1:after {
    padding-top: 25%;
}

.media-5x1:after {
    padding-top: 20%;
}

.media-10x1:after {
    padding-top: 10%;
}

.media-1-4:after {
    padding-top: 25vh;
    min-height: 10rem;
}

.media-1-3:after {
    padding-top: 33vh;
    min-height: 12.5rem;
}

.media-1-2:after {
    padding-top: 50vh;
    min-height: 15rem;
}

/*--------------------------------------------------------------
    custom style
  --------------------------------------------------------------*/

.custom-hover {
    position: relative;
}

.custom-hover img {
    transition: all 300ms ease-in-out;
}

.custom-hover:hover img {
    transform: scale(1.1);
}

/*--------------------------------------------------------------
    card style
  --------------------------------------------------------------*/

.card,
.block {
    position: relative;
    background: var(--card-bg);
    border: 1px solid var(--card-border-color);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow);
}

.card-header,
.card-footer {
    background-color: transparent;
    border-color: transparent;
    background-clip: padding-box;
    border: 0;
    padding: 1.25rem;
}

.card-header:first-child {
    padding: 1.25rem 1.25rem 0;
    border-radius: 0;
}

.card-header.has-border {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--gray-3)
}

.card-body {
    padding: 1.25rem;
}

.card-body p:last-child {
    margin-bottom: 0;
}

.card-title {
    line-height: 1.5;
}

.card-md .card-header {
    padding: 2rem 2rem 0;
}

.card-md .card-body {
    padding: 2rem;
}

.card-md .card-footer {
    padding: 0 2rem 1.5rem;
    margin-top: -1rem;
}

@media (max-width: 767.98px) {
    .card-header {
        padding: .875rem .875rem 0;
    }

    .card-body {
        padding: .875rem;
    }

    .card-md .card-header {
        padding: 1.375rem 1.375rem 0;
    }

    .card-md .card-body {
        padding: 1.375rem;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {

    .card-header {
        padding: 1rem 1rem 0;
    }

    .card-body {
        padding: 1rem;
    }

    .card-md .card-header {
        padding: 1.5rem 1.5rem 0;
    }

    .card-md .card-body {
        padding: 1.5rem;
    }
}

/*--------------------------------------------------------------
  ## List
----------------------------------------------------------------*/

.list-item {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
}

.list-item .media-content {
    transition: all 300ms ease-in-out;
}

.list-item:hover .media-content {
    transform: scale(1.05);
}

.list-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    justify-content: center;
    padding: 1rem;
}

.list-body {
    flex: 1 1 auto;
}

.list-footer {
    margin-top: 12px;
}

.list-title {
    display: block;
    color: inherit;
    word-break: break-all;
    word-wrap: break-word;
}

.list-action a {
    color: var(--color-secondary);
}

.list-action a.active {
    color: var(--color-danger)
}

.list-loadmore {
    text-align: center;
    margin-top: 2.25rem;
}

.ranking-number {
    position: absolute;
    left: 0;
    top: 0;
    width: 18px;
    font-size: 11px;
    text-align: center;
    color: #FFFFFF;
    background: linear-gradient(270deg, #787878 -17.65%, #393939 100%);
    border-radius: 6px 0;
}

.list-item:first-child .ranking-number,
.list-item:nth-child(2) .ranking-number,
.list-item:nth-child(3) .ranking-number {
    background: linear-gradient(270deg, #FFA27A -17.65%, #FF3D00 100%);
}

.list-rank {
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--color-secondary);
    border-radius: 100px;
    margin-right: 8px;
}

.list-item:nth-child(1) .list-rank,
.list-item:nth-child(2) .list-rank,
.list-item:nth-child(3) .list-rank {
    background: linear-gradient(270deg, #FFA27A -17.65%, #FF3D00 100%);
    color: #FFFFFF;
}

/*--------------------------------------------------------------
## List style
----------------------------------------------------------------*/
.list {
    padding: 0;
}

.list .list-item {
    flex-direction: row;
    align-items: center;
    margin: 0 0 1rem;
}

.list .list-item:last-child {
    margin: 0;
}

.list .list-item .list-content {
    padding: 0;
}

.list .list-item .media {
    margin-left: .75rem;
}

/*--------------------------------------------------------------
  ## List grid hover
----------------------------------------------------------------*/

.list-grid .list-item {
    flex-direction: row;
    margin-bottom: .75rem;
}

.list-grid .list-item:last-child {
    margin-bottom: 0;
}

.list-grid .list-item .media:first-child {
    border-top-left-radius: inherit;
    border-bottom-left-radius: inherit;
}

.list-grid .list-item .list-catname {
    position: absolute;
    left: 0.375rem;
    top: 0.375rem;
    font-size: .625rem;
    padding: 0.125rem 0.5rem;
    color: #fff;
    background-color: rgb(0 0 0 / 40%);
    border-radius: 3rem;
}

.list-grid .list-item .list-content {
    padding: 0;
}

.list-grid.list-grid-padding .list-item {
    padding: 1rem;
}

.list-grid.list-grid-padding .list-item > .media {
    border-radius: var(--border-radius-xs);
    margin-right: 1.25rem;
}

.list-grid.list-grid-padding .list-content {
    padding: .25rem 0;
}

@media (max-width: 767.98px) {

    .list-grid .list-item .media:first-child {
        margin-right: .625rem;
    }

    .list-grid .list-item .list-catname {
        left: 0.3125rem;
        top: 0.3125rem;
        font-size: .625rem;
        padding: 0.0625rem 0.375rem;
    }

    .list-grid .list-item .list-content {
        padding: .125rem 0;
    }

    .list-grid.list-grid-padding .list-item {
        padding: .625rem;
        margin-bottom: .625rem;
    }

    .list-grid.list-grid-padding .list-item > .media {
        margin-right: .625rem;
    }

    .list-grid.list-grid-padding .list-content {
        padding: 0;
    }

}

/*--------------------------------------------------------------
  ## List grouped 
----------------------------------------------------------------*/

.list-grouped {
    display: flex;
    flex-direction: row;
    flex-flow: row wrap;
}

.list-grouped > div {
    display: flex;
}

.list-grouped .list-item {
    align-self: stretch;
    flex: 1 1 auto;
}

.list-grouped .list-item .media {
    border-radius: var(--border-radius-sm);
}

.list-grouped .list-item .list-content {
    padding: 0.75rem 0 0;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .list-grouped .list-item .list-content {
        padding: 0.625rem 0.75rem;
    }
}

@media (max-width: 767.98px) {
    .list-grouped .list-item .list-content {
        padding: 0.625rem 0.75rem;
    }
}

/*--------------------------------------------------------------
    line-clamp style
----------------------------------------------------------------*/

.h-1x {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.h-2x {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
}

.h-3x {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    white-space: normal;
}

/*--------------------------------------------------------------
  ## site background
----------------------------------------------------------------*/
.site-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 65vh;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.site-dark-background {
    display: none;
}

.site-background::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 80%;
    background-image: linear-gradient(0deg, var(--bg-body) 0%, var(--bg-body) 0%, rgba(0, 0, 0, 0) 100%)
}

/*--------------------------------------------------------------
  ## site preloader
----------------------------------------------------------------*/
.site-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999999;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-dark)
}

@supports ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
    .site-preloader {
        background-color: rgba(0, 0, 0, 0.8);
        -webkit-backdrop-filter: saturate(180%) blur(6px);
        backdrop-filter: saturate(180%) blur(6px);
    }
}

.site-preloader .spinner {
    -webkit-animation: preloader-spinner 1.5s infinite linear;
    animation: preloader-spinner 1.5s infinite linear;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.2);
    border-top-color: var(--color-primary);
    border-bottom-color: var(--color-primary);
    border-left-color: var(--color-primary);
    height: 50px;
    width: 50px
}

@-webkit-keyframes preloader-spinner {
    to {
        transform: rotateZ(360deg)
    }
}

@keyframes preloader-spinner {
    to {
        transform: rotateZ(360deg)
    }
}

/*--------------------------------------------------------------
  ## site main
----------------------------------------------------------------*/
.site-overflow {
    overflow: hidden;
}

.site-main {
    position: relative;
    padding: 2rem 0;
}

@media (max-width: 767.98px) {
    .site-main {
        padding: 1rem 0;
    }
}

/*--------------------------------------------------------------
  ## site promote
----------------------------------------------------------------*/
.site-promote {
    position: relative;
}

.site-promote img {
    border-radius: var(--border-radius-md);
}

.site-promote.post-foot-promote img {
    border-radius: var(--border-radius-sm);
}

/*--------------------------------------------------------------
  ## site navbar
----------------------------------------------------------------*/

.site-navbar {
    position: relative;
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-color: rgba(0, 0, 0, 0);
    transition: all 0.3s ease-in-out;
    z-index: 99;
}

.site-navbar.is-fixed {
    position: fixed;
    left: 0;
    right: 0;
}

.site-navbar.is-sticky {
    position: fixed;
    left: 0;
    right: 0;
    padding-top: .5rem;
    padding-bottom: .5rem;
    background-color: rgba(0, 0, 0, 0.6);
    border-bottom: 0;
}

@supports ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
    .site-navbar.is-sticky {
        -webkit-backdrop-filter: saturate(180%) blur(6px);
        backdrop-filter: saturate(180%) blur(6px);
    }
}

@media (max-width: 767.98px) {
    .site-navbar {
        padding-top: .75rem;
        padding-bottom: .75rem;
    }
}

/*--------------------------------------------------------------
  ## nav brand
----------------------------------------------------------------*/

.navbar-brand {
    margin: 0;
    padding: 0;
}

.navbar-brand .logo {
    max-height: 45px;
}

.navbar-brand .logo-dark {
    display: none;
}

@media (max-width: 767.98px) {
    .navbar-brand .logo {
        max-width: 100px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .navbar-brand .logo {
        max-width: 135px;
    }
}

/*--------------------------------------------------------------
  ## Main Navigation 
----------------------------------------------------------------*/
.navbar-site {
    flex-wrap: nowrap;
}

.navbar-site li {
    position: relative;
    flex-shrink: 0;
}

.navbar-site li a {
    display: block;
    font-size: 1rem;
    color: #fff;
    padding: 0.75rem .5rem;
    opacity: .7;
}

.site-navbar.is-sticky .navbar-site li a {
    color: #fff;
}

.navbar-site > li.menu-item-has-children {
    margin-right: 1.25rem;
}

.navbar-site > li a {
    opacity: .7;
}

.navbar-site > li:hover > a,
.navbar-site > li.current-menu-parent > a,
.navbar-site > li.current-menu-item > a {
    opacity: 1;
}

/* Submenu */
.navbar-site li ul.sub-menu {
    position: absolute;
    left: 0;
    top: 115%;
    min-width: 200px;
    text-align: left;
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    background: var(--bg-dark);
    box-shadow: 0 0 15px rgb(0 0 0 / 7%);
    border-radius: var(--border-radius-sm);
    transform: translateY(-10px);
    transition: all 500ms ease;
    z-index: 100;
}

.navbar-site li:last-child ul.sub-menu {
    left: auto;
    right: 0;
}

.navbar-site li ul.sub-menu li {
    display: block;
    position: relative;
}

.navbar-site li ul.sub-menu li:last-child {
    margin-bottom: 0;
}

.navbar-site li ul.sub-menu li a {
    position: relative;
    display: block;
    color: var(--color-muted);
    padding: 0.625rem 1.125rem;
    transition: all 0.3s ease-in;
    z-index: 1;
}

.navbar-site li ul.sub-menu li > a:hover,
.navbar-site li ul.sub-menu li.current-menu-item > a {
    color: #fff;
    opacity: 1;
}

.navbar-site li:hover ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: scale(1) translateY(0px);
}

.navbar-site li ul.sub-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: -10px;
    transition: 0.5s;
    transition-delay: 0.1s;
    transform: translateY(10px);
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    z-index: 999;
}

.navbar-site li:last-child ul.sub-menu .sub-menu {
    left: auto;
    right: 99%;
}

.navbar-site li ul.sub-menu .sub-menu {
    left: 99%;
    top: 0;
}

.navbar-site li ul.sub-menu li:hover > .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translate(0, -10px);
    transition-delay: 0s;
    pointer-events: all;
}

/*--------------------------------------------------------------
  ## site submenu icon Navigation 
----------------------------------------------------------------*/

.navbar-site li.menu-item-has-children > a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -8px;
    height: 6px;
    width: 6px;
    border-left: 1px solid var(--border-secondary);
    border-bottom: 1px solid var(--border-secondary);
    transform: translate(-50%, -50%) rotate(315deg);
    opacity: 0.3;
    transition: all 0.2s;
}

.site-navbar.is-sticky .navbar-site li.menu-item-has-children > a:after {
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.navbar-site li.menu-item-has-children > a:hover:after {
    transform: translate(-50%, -50%) rotate(135deg);
}

.navbar-site li ul.sub-menu li.menu-item-has-children > a:after {
    right: 12px;
}

.navbar-site li ul.sub-menu li.menu-item-has-children > a:after {
    transform: translate(-50%, -50%) rotate(315deg);
}

.navbar-site li ul.sub-menu li.menu-item-has-children > a:hover:after,
.navbar-site li ul.sub-menu li.menu-item-has-children > a:hover:after {
    transform: translate(-50%, -50%) rotate(225deg);
}

/* --------------------------------
    navbar sub
-------------------------------- */
.site-navbar.is-sticky .navbar-sub a {
    --bs-btn-color: #fff;
    --bs-btn-hover-color: var(--color-light);
    --bs-btn-active-color: #fff;
}


/*--------------------------------------------------------------
    image hover animation
----------------------------------------------------------------*/
.hover-content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #fff;
    text-align: center;
    line-height: 1;
    background-color: rgba(0, 0, 0, .65);
    transition: .3s;
    opacity: 0;
    z-index: 2;
}

.hover-content i {
    transform: translateY(10px);
    transition: .3s
}

a:hover .hover-content {
    opacity: 1;
    visibility: visible
}

a:hover .hover-content i {
    transform: translateY(0);
}

/*--------------------------------------------------------------
## Post
--------------------------------------------------------------*/

.post-header {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}

.page-header {
    margin-bottom: 2rem;
    padding-bottom: 0;
}

@media (max-width: 767.98px) {
    .post-header {
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
    }

    .page-header {
        margin-bottom: 1.5rem;
        padding-bottom: 0;
    }
}

.post-content {
    font-size: 1rem;
    line-height: 1.75rem;
    word-break: normal;
    word-wrap: break-word;
}

.post-content > *:first-child {
    margin-top: 0;
}

.post-content > *:last-child {
    margin-bottom: 0;
}

.post-content a:hover,
.post-content a:focus {
    text-decoration: none;
}

.post-content p {
    margin: 0 0 1rem;
}

.post-content hr {
    margin: 4rem auto;
}

.post-content > .wp-block-cover.alignwide:first-child,
.post-content > .wp-block-cover.alignfull:first-child {
    margin-top: 0;
}

/* Font Families ----------------------------- */

.post-content h1,
.post-content h2,
.post-content h3 {
    line-height: 1.5;
    margin: 2rem 0 1.5rem;
    color: var(--color-body);
}

.post-content h4,
.post-content h5,
.post-content h6 {
    margin: 2rem 0 1.5rem;
}

.post-content h2 {
    position: relative;
    padding: 0 0 0 16px;
}

.post-content h2:before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 4px;
    height: 20px;
    border-radius: 10px;
    background: var(--color-primary);
    background: linear-gradient(to top, var(--color-primary), var(--color-primary));
}

.post-inner .post-content > .wp-block-cover.alignwide:first-child,
.post-inner .post-content > .wp-block-cover.alignfull:first-child {
    margin-top: 0;
}

@media (max-width: 767.98px) {

    .post-content h1,
    .post-content h2,
    .post-content h3 {
        margin: 2rem auto 1rem;
    }

    .post-content h4,
    .post-content h5,
    .post-content h6 {
        margin: 2rem auto 1rem;
    }

    .post-content h2:before {
        top: 5px;
        height: 20px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {

    .post-content h1,
    .post-content h2,
    .post-content h3 {
        margin: 1rem auto 1rem;
    }

    .post-content h4,
    .post-content h5,
    .post-content h6 {
        margin: 1rem auto 1rem;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {

    .post-content h1,
    .post-content h2,
    .post-content h3 {
        margin: 1.5rem auto 1rem;
    }

    .post-content h4,
    .post-content h5,
    .post-content h6 {
        margin: 1.5rem auto 1rem;
    }
}

/* Font link ----------------------------- */

.post-content p > a,
.post-content li > a,
.post-content dd > a,
.post-content td a,
.post-content th a,
.post-content h1 a,
.post-content h2 a,
.post-content h3 a,
.post-content h4 a,
.post-content h5 a,
.post-content h6 a,
.post-content em a,
.post-content strong a {
    box-shadow: 0 -2px 0 0 var(--color-danger) inset;
    transition: 0.2s ease-in;
}

.post-content p > a:hover,
.post-content li > a:hover,
.post-content dd > a:hover,
.post-content td a:hover,
.post-content th a:hover,
.post-content h1 a:hover,
.post-content h2 a:hover,
.post-content h3 a:hover,
.post-content h4 a:hover,
.post-content h5 a:hover,
.post-content h6 a:hover,
.post-content em a:hover,
.post-content strong a:hover {
    color: var(--color-dark);
    box-shadow: 0 -2px 0 0 var(--color-danger) inset;
}

/* Post quote style ----------------------------- */
.wp-block-quote {
    border-radius: var(--border-radius-xs);
    background-color: var(--bg-secondary);
}

.wp-block-quote a,
.wp-block-quote p > a {
    border-color: var(--border-secondary);
}

.wp-block-quote a,
.wp-block-quote a:hover {
    color: inherit;
}

/* Button */

.wp-block-button__link {
    background-color: var(--bg-secondary);
}

.wp-block-button__link:hover {
    background-color: var(--gray-5);
    color: #fff;
}

/* Alignment Classes ------------------------- */

.post-content .alignnone,
.wp-block-image,
.wp-block-embed {
    margin: 1.5rem 0
}

.alignright,
a img.alignright,
.wp-block-image .alignright {
    float: right;
    margin: .25rem 0 1.25rem 1.875rem
}

.alignleft,
a img.alignleft,
.wp-block-image .alignleft {
    float: left;
    margin: .25rem 1.875rem 1.25rem 0
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 2.5rem auto
}

.aligncenter > img,
div.aligncenter > img {
    margin: 0 auto
}

p img.alignnone,
img.alignnone {
    display: block;
    margin: 2.5rem 0
}

/*--------------------------------------------------------------
Ul - style
--------------------------------------------------------------*/

.post-content ul,
.post-content ol {
    padding: 0 0 0 1.25rem;
    margin-bottom: 1.5rem;
}

.post-content ul {
    list-style: none;
    padding: 0;
}

.post-content ul ul,
.post-content ol ol,
.post-content ul ol,
.post-content ol ul {
    margin-bottom: 1rem;
}

.post-content ul ul {
    list-style: circle;
    margin: 1rem 0;
    padding-left: 1.125rem;
}

.post-content ul ul ul {
    list-style: square;
}

.post-content ol {
    list-style: decimal;
}

.post-content ol ol {
    list-style: lower-alpha;
}

.post-content ol ol ol {
    list-style: lower-roman;
}

.post-content li {
    position: relative;
    margin: 0 0 1rem;
}

.post-content ul li {
    padding-left: 1.5rem;
}

.post-content ul li:before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath fill-rule='evenodd' d='M10.001.833A9.17 9.17 0 0 0 .834 10a9.17 9.17 0 0 0 9.167 9.167A9.17 9.17 0 0 0 19.167 10 9.17 9.17 0 0 0 10.001.833zm4.339 7.256c.325-.325.325-.853 0-1.179s-.853-.325-1.178 0l-4.411 4.411L6.84 9.411c-.325-.325-.853-.325-1.179 0s-.325.853 0 1.178l2.5 2.5c.325.325.853.325 1.179 0l5-5z' fill='%2300A656'/%3E%3C/svg%3E");
}

.post-content li li {
    margin: 0 0 .75rem;
    padding-left: 0;
}

.post-content li li:before {
    display: none;
}

.post-content li img {
    display: inline-block;
}

/*--------------------------------------------------------------
    block table style
--------------------------------------------------------------*/

table,
.wp-block-table {
    max-width: 100%;
    width: 100%;
    min-width: 240px;
    border-collapse: collapse;
}

table thead,
table tfoot,
.wp-block-table thead,
.wp-block-table tfoot {
    text-align: center;
}

.wp-block-table thead {
    border-color: var(--border-light);
}

table td,
table th,
.wp-block-table td,
.wp-block-table th {
    padding: 5px 10px;
    border: 1px solid var(--border-light);
}

table figcaption,
.wp-block-table figcaption {
    color: var(--color-muted);
    margin-bottom: 0;
}

table.is-style-regular .has-background,
table.is-style-stripes .has-background,
table.is-style-stripes .has-background thead tr,
table.is-style-stripes .has-background tfoot tr,
table.is-style-stripes .has-background tbody tr,
.wp-block-table.is-style-regular .has-background,
.wp-block-table.is-style-stripes .has-background,
.wp-block-table.is-style-stripes .has-background thead tr,
.wp-block-table.is-style-stripes .has-background tfoot tr,
.wp-block-table.is-style-stripes .has-background tbody tr {
    color: var(--color-muted);
}

table.is-style-stripes th,
table.is-style-stripes td,
.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
    border-width: 0;
}

table.is-style-stripes tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: var(--bg-secondary);
}

table.is-style-stripes .has-background tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
    background-color: var(--bg-secondary);
}

table.wp-calendar-table td,
table.wp-calendar-table th {
    background: transparent;
    border: 0;
    text-align: center;
    line-height: 2;
    vertical-align: middle;
    word-break: normal;
}

table.wp-calendar-table th {
    font-weight: bold;
}

table.wp-calendar-table thead,
table.wp-calendar-table tbody {
    color: var(--color-dark);
    border: 1px solid var(--border-light);
}

table.wp-calendar-table caption {
    font-weight: bold;
    text-align: left;
    margin-bottom: .75rem;
    color: var(--gray-5);
}

/* block table */

.wp-block-table {
    margin: 0 0 1.25rem;
}

.wp-block-table.aligncenter,
.wp-block-table.alignleft,
.wp-block-table.alignright {
    display: table;
    width: auto;
}

.wp-block-table.aligncenter td,
.wp-block-table.aligncenter th,
.wp-block-table.alignleft td,
.wp-block-table.alignleft th,
.wp-block-table.alignright td,
.wp-block-table.alignright th {
    word-break: break-word;
}

.wp-block-table.is-style-stripes {
    border-width: 0;
}

.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
    border-color: transparent;
}

.wp-block-table table[style*="border-style"] > *,
.wp-block-table table[style*="border-style"] td,
.wp-block-table table[style*="border-style"] th,
.wp-block-table table[style*="border-style"] tr {
    border-style: inherit;
}

.wp-block-table table[style*="border-width"] > *,
.wp-block-table table[style*="border-width"] td,
.wp-block-table table[style*="border-width"] th,
.wp-block-table table[style*="border-width"] tr {
    border-width: inherit;
}

/**--------------------------------------------------------------
## Post embed wrapper
--------------------------------------------------------------**/
.wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
}

.wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*--------------------------------------------------------------
    wp caption style
--------------------------------------------------------------*/

.wp-caption {
    max-width: 100%;
}

/*--------------------------------------------------------------
## Post video style
--------------------------------------------------------------*/

.post-video .wp-video {
    margin-top: 0;
}

/*--------------------------------------------------------------
## thumbnail style
--------------------------------------------------------------*/

.post-thumbnail img {
    width: 100%;
    height: auto;
}

/*--------------------------------------------------------------
## Post excerpt
--------------------------------------------------------------*/

.post-excerpt {
    position: relative;
    font-size: 1rem;
    line-height: 1.85;
    word-break: normal;
    word-wrap: break-word;
}

/*--------------------------------------------------------------
  ## Pagination (WordPress CSS classes)
--------------------------------------------------------------*/
.pagination-container {
    position: relative;
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    word-wrap: normal !important;
}

.pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    gap: 8px;
}

.page-numbers,
.post-page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    text-align: center;
    padding: 0 .375rem;
    background-color: var(--bg-secondary);
    color: var(--color-muted);
}

.page-numbers:hover,
.page-numbers.current,
.post-page-numbers:hover,
.post-page-numbers.current {
    color: #fff;
    background-color: var(--color-primary);
}

.page-numbers i {
    font-size: 1.25rem;
}

.page-numbers.dots {
    min-width: auto;
    text-align: center;
    padding: 0 0.375rem;
    background-color: transparent;
    border-radius: 0;
}

.page-numbers.dots:hover {
    color: var(--color-muted);
    background-color: transparent;
}

@media (max-width: 767.98px) {
    .pagination-container {
        margin: 1rem 0 0
    }

    .page-numbers {
        min-width: 32px;
        height: 32px;
    }

}

.pagination-quick-jumper {
    margin-left: .25rem;
}

.pagination-quick-jumper .quick-jumper-input {
    min-width: 30px;
    background: var(--bg-secondary);
    color: var(--color-muted);
    border-radius: var(--border-radius-xs);
    text-align: center;
    border: 0;
    padding: .25rem;
    margin: 0 .25rem;
}

.pagination-quick-jumper .quick-jumper-input::-webkit-inner-spin-button,
.pagination-quick-jumper .quick-jumper-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.pagination-quick-jumper .quick-jumper-input {
    -moz-appearance: textfield;
}

/*--------------------------------------------------------------
  ## post navigation style
--------------------------------------------------------------*/
.post-in-navigation span,
.post-in-navigation a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    margin: .3125rem;
    text-align: center;
    color: var(--color-muted);
    border-radius: var(--border-radius-xs);
    background-color: var(--gray-2);
}

.post-in-navigation a:focus,
.post-in-navigation a:active,
.post-in-navigation a:hover,
.post-in-navigation .current {
    color: #fff;
    background-color: var(--color-primary);
}

.post-in-navigation .current,
.post-in-navigation a.prev,
.post-in-navigation a.next {
    display: flex;
}

.post-in-navigation a.dots {
    min-width: 0;
    background-color: transparent;
    color: var(--color-muted);
}

@media (max-width: 767.98px) {
    .post-in-navigation {
        margin: 1.25rem 0 0;
    }

    .post-in-navigation span,
    .post-in-navigation a {
        min-width: 2rem;
        height: 2rem;
        border-radius: var(--border-radius-sm);
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .post-in-navigation {
        margin: 1.5rem 0 0;
    }

    .post-in-navigation span,
    .post-in-navigation a {
        min-width: 2.25rem;
        height: 2.25rem;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .post-in-navigation {
        margin: 1.5rem 0 0;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .post-in-navigation {
        margin: 2rem 0 0;
    }
}

/*--------------------------------------------------------------
  ## Popup Login style
--------------------------------------------------------------*/

.search-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 999;
    cursor: pointer;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: all 0.15s linear;
}

@supports ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
    .search-popup {
        background-color: rgba(0, 0, 0, 0.8);
        -webkit-backdrop-filter: saturate(180%) blur(6px);
        backdrop-filter: saturate(180%) blur(6px);
    }
}

.search-popup.is-visible {
    visibility: visible;
    opacity: 1;
}

.search-popup.is-visible .search-popup-container {
    transform: scale(1) translateY(0px);
}

.search-popup-container {
    position: relative;
    width: 96%;
    max-width: 600px;
    background: #fff;
    margin: 3em auto 4em;
    cursor: auto;
    border-radius: var(--border-radius-md);
    transform: scale(.85) translateY(50px);
    transition: transform 0.3s ease-out;

}

.search-popup-container .search-popup-close {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 150%);
}

.search-hidden {
    overflow: hidden;
}

/*--------------------------------------------------------------
  ## Popup style
--------------------------------------------------------------*/

.nice-popup-content .nice-popup-icon {
    width: 64px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    background-color: var(--gray-6);
    border-radius: 50%;

}

.nice-popup-content .login-point-icon {
    position: relative;
    width: 200px;
    height: 200px;
    margin-top: -120px;
    border-radius: 0;
    background-color: transparent;
}

.nice-popup-content .nice-popup-icon img {
    width: inherit;
    height: inherit;
    object-fit: contain;
}

.user-profile-form li .item-action i {
    position: relative;
    transition: all 0.3s ease-in-out;
    transform: translateX(-2px);
}

.user-profile-form li .item-action:hover i {
    transform: translateX(3px);
}

.nice-popup-content .nice-popup-icon.password {
    background-color: rgb(254 190 1 / 9%);
    color: rgb(254 190 1);
}

.nice-popup-content .nice-popup-icon.phone {
    background-color: rgb(254 85 1 / 9%);
    color: rgb(254 85 1);
}

.nice-popup-content .nice-popup-icon.mail {
    background-color: rgb(255 147 59 / 9%);
    color: rgb(255 147 59);
}

.nice-popup-content .nice-popup-icon.name {
    background-color: rgb(1 101 254 / 9%);
    color: var(--color-primary);
}

.user-profile-form li:nth-child(6) .item-icon {
    background-color: rgb(39 164 95 / 9%);
    color: rgb(39 164 95);
}


/*--------------------------------------------------------------
  ## Text selection color and background color
--------------------------------------------------------------*/
.popup-actions {
    display: flex;
    flex-direction: column;
}

.popup-actions .item {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--gray-2);
}

.popup-actions .item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.popup-actions .item .item-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0 1rem;
}

.popup-actions .item .item-content .item-body {
    display: flex;
    align-items: center;
    gap: 0 .75rem
}

.popup-actions .item .item-content .item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    font-size: 1.25rem;
}

.popup-actions .item .item-content .item-title {
    opacity: .6;
    transition: opacity 0.3s ease-in-out;
}

.popup-actions .item:hover .item-content .item-title {
    opacity: 1;
}

/*--------------------------------------------------------------
  ## loading spin animation
--------------------------------------------------------------*/

@-webkit-keyframes icon-expand-animation {
    0% {
        transform: scale(0)
    }

    15% {
        transform: scale(1.4)
    }

    32% {
        transform: scale(0.8)
    }

    50% {
        transform: scale(1);
        opacity: 1
    }

    to {
        transform: scale(1);
        opacity: 1
    }
}

@keyframes icon-expand-animation {
    0% {
        transform: scale(0)
    }

    15% {
        transform: scale(1.4)
    }

    32% {
        transform: scale(0.8)
    }

    50% {
        transform: scale(1);
        opacity: 1
    }

    to {
        transform: scale(1);
        opacity: 1
    }
}

/*--------------------------------------------------------------
  ## Text selection color and background color
--------------------------------------------------------------*/

::-moz-selection {
    color: #fff;
    background: var(--color-primary);
}

::selection {
    color: #fff;
    background: var(--color-primary);
}

/* --------------------------------
  ## fancybox style
-------------------------------- */
.is-animating .fancybox__content,
.is-dragging .fancybox__content {
    will-change: auto
}

/*--------------------------------------------------------------
    banner
----------------------------------------------------------------*/
.banner-nextprev {
    position: relative;
}

.banner-nextprev .swiper-button-next,
.banner-nextprev .swiper-button-prev {
    width: var(--swiper-navigation-size);
    color: var(--swiper-pagination-color);
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 100%;
    opacity: 0;
    visibility: hidden;
    transform-origin: 0 0 0;
    transition: all 0.3s ease-out 0s;
}

.banner-nextprev:hover .swiper-button-next,
.banner-nextprev:hover .swiper-button-prev {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.banner-nextprev:hover .swiper-button-next {
    right: 3%;
}

.banner-nextprev:hover .swiper-button-prev {
    left: 3%;
}

.banner-nextprev .swiper-button-next.swiper-button-disabled,
.banner-nextprev .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
}

.banner-nextprev .swiper-button-next:hover {
    background-color: rgba(0, 0, 0, 0.5);
}

.banner-nextprev .swiper-button-prev:hover {
    background-color: rgba(0, 0, 0, 0.5);
}

.banner-nextprev .swiper-button-next:after,
.banner-nextprev .swiper-button-prev:after {
    position: relative;
    font-size: calc((var(--swiper-navigation-size) / 2.25));
}

.banner-nextprev .swiper-button-prev:after {
    left: -1px;
}

.banner-nextprev .swiper-button-next:after {
    left: 1px;
}

.banner-nextprev .swiper-pagination {
    --swiper-pagination-bullet-horizontal-gap: 2px;
    display: flex;
    left: 50%;
    width: auto;
    padding: 0.3125rem .3125rem;
    border-radius: 3rem;
    transform: translateX(-50%);
    background-color: rgb(0 0 0 / 20%);
}

.banner-nextprev .swiper-pagination.swiper-pagination-lock {
    display: none;
}

@media (max-width: 767.98px) {
    .banner-nextprev .swiper-pagination {
        --swiper-pagination-bullet-horizontal-gap: 2px;
        padding: 0.25rem .375rem;
        bottom: 5px;
    }
}

.index-banner .swiper-slide {
    position: relative;
}

.index-banner .swiper-slide a {
    display: block;
}

.index-banner .swiper-slide a:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .3);
}

.index-banner .swiper-slide .banner-content {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translate(0%, -50%);
    z-index: 2;
}

.index-banner .swiper-slide img {
    width: 100%;
}

/*--------------------------------------------------------------
## Index video
--------------------------------------------------------------*/

.index-video {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.index-video .video-fallback {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.index-video .video-poster {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    pointer-events: none;
    z-index: -1;
    background: black;
}

.index-video .video-fallback {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.index-video:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.4) 48.5%, rgba(0, 0, 0, 0.2) 100%);
    z-index: 1;
}

.index-video .video-content {
    position: relative;
    color: #fff;
    text-align: center;
    padding: 2rem 0;
    z-index: 2;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .index-video {
        height: 60vh;
    }
}

.index-block {
    position: relative;
}

.index-block.pt-56 {
    padding-top: 56px;
}

.index-block.mt-56 {
    margin-top: 56px;
}

.mt--1 {
    margin-top: -1px;
}

@media (max-width: 767.98px) {
    .index-block.pt-56 {
        padding-top: 24px;
    }

    .index-block.mt-56 {
        margin-top: 24px;
    }
}

.index-block .stroked-text-1 {
    position: relative;
    display: inline-block;
    /*-webkit-text-stroke-width: 1px;*/
    /*-webkit-text-stroke-color: var(--color-primary);*/
    text-transform: capitalize;
}

.index-block .stroked-text-1::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    color: transparent;
    -webkit-text-stroke: 1px var(--color-primary);
    color: var(--color-primary);
    transition: all 0.4s ease-out;
    white-space: nowrap;
}

.index-block:hover .stroked-text-1::after {
    top: -6px;
    left: -6px;
}

.index-block .more-button {
    opacity: 0.6;
}


.index-block .more-button:hover .more-text:before {
    width: 0
}

.index-block .more-button .more-text {
    position: relative
}

.index-block .more-button .more-text:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transition: all .35s ease
}

.index-block .more-button:hover {
    color: #fff;
    opacity: 1;
}

.index-block .more-icon {
    position: relative;
    transition: all 300ms ease-in-out;
    transform: rotate(-45deg)
}

.index-block a:hover .more-icon {
    transform: scale(1.3) translateX(2px);
}

.index-block .more-button:hover .more-icon {
    transform: rotate(0)
}

/*--------------------------------------------------------------
## Product animation
--------------------------------------------------------------*/

.product-list {
}

.product-list .item {
    display: flex;
    flex-direction: row;
    min-width: 0;
    word-wrap: break-word;
}

.product-list .item .item-image {
    width: 50%;
}

.product-list .item .item-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    justify-content: center;
    width: 50%;
    min-width: 0;
    transition: all 300ms ease-in-out;
}


.product-list .item .item-content:hover {
    background-color: var(--color-primary);
}

.product-list .item .item-more {
    position: absolute;
    right: 24px;
    top: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 56px;
    height: 56px;
    opacity: 0;
    transition: all 300ms ease-in-out;
}

.product-list .item .item-content:hover .item-more {
    opacity: 1;
    right: 12px;
    top: 12px;
}

.product-list .item .item-link {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}

.product-list .item .item-more svg {
    width: 48px;
    height: 48px;
}

.product-list .item .item-desc {
    opacity: .6;
}

.product-list .item .media {
    transition: all 300ms ease-in-out;
}

.product-list .item:hover .media {
    transform: scale(1.05);
}

.partners-list .media .media-content {
    background-color: transparent;
}

.partners-list .media .media-content img {
    object-fit: contain;
}

@media (max-width: 767.98px) {
    .product-list .item .item-content .right-line {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .product-list .item .item-content .right-line {
        display: none;
    }
}

@media (min-width: 992px) {

    .product-list > div:nth-child(4n - 1) .item .item-image,
    .product-list > div:nth-child(4n) .item .item-image {
        order: 2;
    }
}


.service-list {
}

.service-list .item .item-icon {
    width: 64px;
    height: 64px;
}

@media (max-width: 767.98px) {
    .service-list .item .item-icon {
        width: 48px;
        height: 48px;
    }

    .service-list > div:nth-child(2n) .item .right-line {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .service-list .item .item-icon {
        width: 48px;
        height: 48px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .service-list .item .item-icon {
        width: 48px;
        height: 48px;
    }
}

@media (min-width: 992px) {
    .service-list .item .bottom-line {
        display: none;
    }
}

.service-list .item .item-icon img {
    width: inherit;
    height: inherit;
    object-fit: contain;
}

.news-list .item {
    position: relative;
    display: flex;
    flex-direction: row;
    min-width: 0;
    word-wrap: break-word;
    padding: 64px 0 64px 120px;
}

.news-list .item .item-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    justify-content: center;
    min-width: 0;
}

.news-list .item .item-title .title-icon {
    position: relative;
    display: inline-block;
    top: -1px;
    width: 14px;
    height: 13px;
    margin-left: 6px;
    background-color: #fff;
    -webkit-mask-size: contain;
    -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M11.792 1.28L3.22 1.135l.017-1 9.84.166-.002.16.004-.16.339.007-.003.147.148-.002.006.339-.16.003.16-.002.167 9.84-1 .018-.148-8.752-11.03 11.03-.706-.708L11.792 1.28z'/%3E%3C/svg%3E") no-repeat;
    mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M11.792 1.28L3.22 1.135l.017-1 9.84.166-.002.16.004-.16.339.007-.003.147.148-.002.006.339-.16.003.16-.002.167 9.84-1 .018-.148-8.752-11.03 11.03-.706-.708L11.792 1.28z'/%3E%3C/svg%3E") no-repeat;
    mask-size: contain;
    transition: all .35s ease;
    opacity: 0.6;
}

.news-list .item .item-title:hover .title-icon {
    transform: rotate(45deg)
}

.news-list .item .item-date {
    position: absolute;
    left: 0;
}

@media (max-width: 767.98px) {
    .news-list .item {
        position: relative;
        display: flex;
        flex-direction: column;
        min-width: 0;
        word-wrap: break-word;
        padding: 24px 0;
    }

    .news-list .item .item-date {
        position: relative;
        left: auto;
    }
}

.contact-list .item .item-icon {
    width: 32px;
    height: 32px;
    transition: all 300ms ease-in-out;
}

.contact-list .item .item-icon svg path {
    stroke: var(--color-primary)
}

.contact-list .item .item-content {
    opacity: .6;
    transition: all 300ms ease-in-out;
}

.contact-list .item:hover .item-content {
    opacity: 1;
}

.contact-list .item:hover .item-icon {
    transform: scale(1.2);
}

/*--------------------------------------------------------------
## Game post
--------------------------------------------------------------*/
.game-cover {
    position: relative;
    height: 80vh;
}

.game-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.game-cover .cover-content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: end;
    padding: 32px 32px 100px;
    z-index: 3;
    background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.4) 48.5%, rgba(0, 0, 0, 0.2) 100%);
}

@media (max-width: 767.98px) {
    .game-cover .cover-content {
        padding: 24px 24px 48px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .game-cover .cover-content {
        padding: 24px 24px 48px;
    }
}

/*--------------------------------------------------------------
## Back top
--------------------------------------------------------------*/
.back-top {
    cursor: pointer;
    position: fixed;
    bottom: 200px;
    right: 40px;
    display: block;
    z-index: 99;
    visibility: hidden;
    opacity: 0;
    transform: translateY(50%);
    transition: all 0.3s ease-in-out;
}

.back-top.back-top-show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0%);
}

@media (max-width: 767.98px) {
    .back-top {
        bottom: 100px;
        right: 12px;
    }

    .back-top a {
        width: 32px;
        height: 32px;
        font-size: 1.25rem;
    }
}

/*--------------------------------------------------------------
## Line animation
--------------------------------------------------------------*/
.top-line {
    transition: 1.5s;
    -webkit-transition: 1.5s;
    transition-timing-function: cubic-bezier(0.93, 0.02, 0.11, 0.98);
    width: 0;
    height: 1px;
    background-color: #505050;
    position: absolute;
    top: 0;
    left: 0;
}

.bottom-line {
    transition: 1.5s;
    -webkit-transition: 1.5s;
    transition-timing-function: cubic-bezier(0.93, 0.02, 0.11, 0.98);
    width: 0;
    height: 1px;
    background-color: var(--gray-5);
    position: absolute;
    bottom: 0;
    left: 0;
}

.left-line {
    transition: 1.5s;
    -webkit-transition: 1.5s;
    transition-timing-function: cubic-bezier(0.93, 0.02, 0.11, 0.98);
    width: 1px;
    height: 0;
    background-color: var(--gray-5);
    position: absolute;
    top: 0;
    left: 0;
}

.right-line {
    transition: 1.5s;
    -webkit-transition: 1.5s;
    transition-timing-function: cubic-bezier(0.93, 0.02, 0.11, 0.98);
    height: 0;
    width: 1px;
    background-color: var(--gray-5);
    position: absolute;
    top: 0;
    right: 0;
}

.top-line-animation, .bottom-line-animation {
    width: 100%;
}

.left-line-animation, .right-line-animation {
    height: 100%;
}

/*====================================
    Pre loader Css
=====================================*/
.text-preloader-wrapper {
    align-items: center;
    display: flex;
    justify-content: center;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    z-index: 9999;
}

.text-preloader-wrapper .preloader-spinner {
    animation: preloader-spinner 1s infinite linear;
    border-radius: 50%;
    border: 4px solid rgba(255, 255, 255, .15);
    border-top-color: var(--color-primary);
    height: 120px;
    margin: 0 auto 35px auto;
    width: 120px;
}

@keyframes preloader-spinner {
    to {
        transform: rotateZ(360deg);
    }
}

.text-preloader-wrapper .txt-loading {
    text-align: center;
    user-select: none;
}

.text-preloader-wrapper .letters-loading {
    font-weight: 700;
    letter-spacing: 10px;
    display: inline-block;
    color: rgba(255, 255, 255, .15);
    position: relative;
    font-size: 70px;
    line-height: 1;
}

.text-preloader-wrapper .letters-loading:before {
    animation: letters-loading 3s infinite;
    color: #ffffff;
    content: attr(data-text-preloader);
    left: 0;
    opacity: 0;
    top: 0;
    position: absolute;
    line-height: 1;
}

@keyframes letters-loading {
    0%,
    75%,
    100% {
        opacity: 0;
        transform: rotateY(-90deg);
    }

    25%,
    50% {
        opacity: 1;
        transform: rotateY(0deg);
    }
}

.text-preloader-wrapper .small-loading {
    margin: 10px 0 0 0;
    text-align: center;
    font-size: 20px;
    color: #ffffff;
}

@media only screen and (max-width: 767px) {
    .text-preloader-wrapper .letters-loading {
        font-size: 42px;
    }

    .text-preloader-wrapper .preloader-spinner {
        height: 150px;
        width: 150px;
    }
}


/* --------------------------------
    aside
-------------------------------- */
.mobile-aside {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 9999;
    transition: all 0.15s linear;
}


.mobile-active .mobile-aside {
    visibility: visible;
    opacity: 1;
}

.mobile-aside .aside-overlay {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
}

@supports ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
    .aside-overlay {
        -webkit-backdrop-filter: saturate(180%) blur(6px);
        backdrop-filter: saturate(180%) blur(6px);
    }
}


.mobile-active .mobile-aside .aside-overlay {
    opacity: 1;
    visibility: visible;
}

/*--------------------------------------------------------------
## Mobile Navigation
--------------------------------------------------------------*/
.mobile-aside .aside-body {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: 80%;
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
    transform: translateX(-100%);
    background-color: var(--bg-dark);
    z-index: 999;
    transition: transform 0.3s ease-out;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .mobile-aside .aside-body {
        width: 300px;
    }
}

.mobile-active .mobile-aside .aside-body {
    transform: translateX(0%);
}

.mobile-aside .aside-menu {
    display: flex;
    flex-direction: column;
    padding: 1rem 1.5rem;
}

.mobile-aside .aside-menu > li {
    position: relative;
    padding: .875rem 0;
    border-bottom: 1px solid var(--gray-5);
}

.mobile-aside .aside-menu > li > a:hover,
.mobile-aside .aside-menu > li.current-menu-item > a,
.mobile-aside .aside-menu > li.active > a {
    color: var(--color-primary);
}

.mobile-aside .aside-menu li a {
    position: relative;
    display: block;
    padding: .5rem 0;
    transition: all .3s;
}

.mobile-aside .aside-menu li a:hover {
    opacity: 1;
}

.mobile-aside .aside-menu > li.current-menu-item > a {
    color: var(--color-primary);
    opacity: 1;
}

.mobile-aside .aside-menu li .menu-sign {
    position: absolute;
    right: 0;
    top: 50%;
    height: 25px;
    width: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(0%, -50%);
    opacity: .5;
}

.mobile-aside .aside-menu li .menu-sign:after {
    content: "";
    display: block;
    height: 8px;
    width: 8px;
    border-left: 1px solid var(--border-light);
    border-bottom: 1px solid var(--border-light);
    transform: rotate(225deg);
    transition: all 0.2s;
}

.mobile-aside .aside-menu li .menu-sign.is-active:after {
    transform: rotate(315deg);
}