/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
:root {
    --Black: #000000;
    --White: #ffffff;
    --White-light: #ffffff;
    --Primary: #14be77;
    --Secondary: #4e5052;
    --Secondary2: #a0a0a0;
    --On-surface: #161616;
    --Surface: #f8f7f7;
    --Surface-light: #f8f7f7;
    --Surface-2: rgba(248, 247, 247, 0.6);
    --Surface-2-light: rgba(248, 247, 247, 0.6);
    --Line: #e9e9e9;
    --Line-2: #d9d9d9;
    --Line-dark: rgba(255, 255, 255, 0.1);
    --Bg-color-1: #00000033;
}

/*---------- Reset css styles ----------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
/* Reset Browsers
-------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font: inherit;
    vertical-align: baseline;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

html {
    margin-right: 0 !important;
    font-size: 62.5%;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    line-height: 1;
    padding: 0 !important;
    font-family: "Manrope", sans-serif;
    color: var(--Secondary);
}
body::-webkit-scrollbar {
    width: 3px;
}
body::-webkit-scrollbar-thumb {
    background: var(--On-surface);
    border-radius: 999px;
}
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.3);
    z-index: 10;
    pointer-events: none;
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
    backdrop-filter: blur(3px);
}
body.menu-overlay-enabled::before {
    opacity: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th,
td {
    font-weight: normal;
    text-align: left;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
}

blockquote,
q {
    quotes: none;
}

a img {
    border: 0;
}

img {
    max-width: 100%;
    height: auto;
}

select {
    max-width: 100%;
}

/* General
-------------------------------------------------------------- */
body,
button,
input,
select,
textarea {
    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
    overflow-y: auto;
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    -ms-interpolation-mode: bicubic;
}

p {
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
}
@media (max-width: 767px) {
    p {
        font-size: 16px;
        line-height: 28px;
    }
}

strong,
b,
cite {
    font-weight: bold;
}

dfn,
cite,
em,
i,
blockquote {
    font-style: italic;
}

abbr,
acronym {
    border-bottom: 1px dotted #e0e0e0;
    cursor: help;
}

.btn-link:focus,
.btn-link:hover,
mark,
ins {
    text-decoration: none;
}

sup,
sub {
    font-size: 75%;
    height: 0;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

small {
    font-size: 75%;
}

big {
    font-size: 125%;
}

address {
    font-style: italic;
    margin: 0 0 20px;
}

code,
kbd,
tt,
var,
samp,
pre {
    margin: 20px 0;
    padding: 4px 12px;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    overflow-x: auto;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    hyphens: none;
    border-radius: 0;
    height: auto;
}

svg,
svg path {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* Elements
-------------------------------------------------------------- */
html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

hr {
    margin-bottom: 20px;
    border: dashed 1px #ccc;
}

/* List */
ul,
ol {
    padding: 0;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
}

li {
    list-style: none;
}

ul li,
ol li {
    padding: 0;
}

dl,
dd {
    margin: 0 0 20px;
}

dt {
    font-weight: bold;
}

del,
.disable {
    text-decoration: line-through;
    filter: alpha(opacity=50);
    opacity: 0.5;
}

/* Table */
table,
th,
td {
    border: 1px solid #343444;
}

table {
    border-collapse: separate;
    border-spacing: 0;
    border-width: 1px 0 0 1px;
    margin: 0 0 30px;
    table-layout: fixed;
    width: 100%;
}

caption,
th,
td {
    font-weight: normal;
    text-align: left;
}

th {
    border-width: 0 1px 1px 0;
    font-weight: bold;
}

td {
    border-width: 0 1px 1px 0;
}

th,
td {
    padding: 8px 12px;
}

/* Media */
embed,
object,
video {
    margin-bottom: 20px;
    max-width: 100%;
    vertical-align: middle;
}

p > embed,
p > iframe,
p > object,
p > video {
    margin-bottom: 0;
}

/* Forms
-------------------------------------------------------------- */
/* Fixes */
button,
input {
    line-height: normal;
}

button,
input,
select,
textarea {
    font-size: 100%;
    line-height: inherit;
    margin: 0;
    vertical-align: baseline;
}

textarea {
    overflow: auto;
    /* Removes default vertical scrollbar in IE6/7/8/9 */
    vertical-align: top;
    /* Improves readability and alignment in all browsers */
}

input[type="checkbox"] {
    display: inline;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    line-height: 1;
    cursor: pointer;
    -webkit-appearance: button;
    border: 0;
}

input[type="checkbox"],
input[type="radio"] {
    overflow: hidden;
    padding: 0;
    width: 15px;
    height: 15px;
    border-radius: 3px;
    cursor: pointer;
    vertical-align: sub;
    /* Addresses excess padding in IE8/9 */
}

input[type="search"] {
    -webkit-appearance: textfield;
    /* Addresses appearance set to searchfield in S5, Chrome */
}

input[type="search"]::-webkit-search-decoration {
    /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/* Remove chrome yellow autofill */
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #f7f7f7 inset;
}

/* Reset search styling */
input[type="search"] {
    outline: 0;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

/* Placeholder color */
::-webkit-input-placeholder {
    color: #171412;
}

::-moz-placeholder {
    color: #171412;
    opacity: 1;
}

/* Since FF19 lowers the opacity of the placeholder by default */
:-ms-input-placeholder {
    color: #171412;
}

textarea::placeholder,
input[type="text"]::placeholder,
input[type="password"]::placeholder,
input[type="datetime"]::placeholder,
input[type="datetime-local"]::placeholder,
input[type="date"]::placeholder,
input[type="month"]::placeholder,
input[type="time"]::placeholder,
input[type="week"]::placeholder,
input[type="number"]::placeholder,
input[type="email"]::placeholder,
input[type="url"]::placeholder,
input[type="search"]::placeholder,
input[type="tel"]::placeholder,
input[type="color"]::placeholder {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* Typography
-------------------------------------------------------------- */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "Manrope", sans-serif;
    margin: 0;
    text-rendering: optimizeLegibility;
    color: var(--On-surface);
    font-weight: 700;
}

h1,
.h1 {
    font-size: 56px;
    line-height: 68px;
}

h2,
.h2 {
    font-size: 44px;
    line-height: 50px;
}

h3,
.h3 {
    font-size: 36px;
    line-height: 48px;
}

h4,
.h4 {
    font-size: 30px;
    line-height: 42px;
}

h5,
.h5 {
    font-size: 24px;
    line-height: 32px;
}

h6,
.h6 {
    font-size: 18px;
    line-height: 24px;
}

.text-display-1 {
    font-size: 80px;
    line-height: 88px;
}

.text-display-2 {
    font-size: 44px;
    line-height: 56px;
}

.text-title {
    font-size: 16px;
    line-height: 24px;
}

.text-body-1 {
    font-size: 16px;
    line-height: 26px;
}

.text-body-2 {
    font-size: 18px;
    line-height: 30px;
}

.text-body-3 {
    font-size: 22px;
    line-height: 30px;
}

.text-caption-1 {
    font-size: 14px;
    line-height: 22px;
}

.text-caption-2 {
    font-size: 12px;
    line-height: 16px;
}

.text-caption-3 {
    font-size: 10px;
    line-height: 16px;
}

@media (max-width: 1199px) {
    h1,
    .h1 {
        font-size: 46px;
        line-height: 54px;
    }
    h2,
    .h2 {
        font-size: 36px;
        line-height: 44px;
    }
    h3,
    .h3 {
        font-size: 30px;
        line-height: 38px;
    }
    h4,
    .h4 {
        font-size: 27px;
        line-height: 35px;
    }
    .text-display-1 {
        font-size: 66px;
        line-height: 74px;
    }
    .text-display-2 {
        font-size: 36px;
        line-height: 44px;
    }
}
@media (max-width: 991px) {
    h1,
    .h1 {
        font-size: 38px;
        line-height: 46px;
    }
    h2,
    .h2 {
        font-size: 30px;
        line-height: 38px;
    }
    h3,
    .h3 {
        font-size: 27px;
        line-height: 35px;
    }
    h4,
    .h4 {
        font-size: 23px;
        line-height: 31px;
    }
    h5,
    .h5 {
        font-size: 20px;
        line-height: 28px;
    }
    .text-display-1 {
        font-size: 55px;
        line-height: 63px;
    }
    .text-display-2 {
        font-size: 30px;
        line-height: 38px;
    }
}
@media (max-width: 767px) {
    h1,
    .h1 {
        font-size: 31px;
        line-height: 39px;
    }
    h2,
    .h2 {
        font-size: 25px;
        line-height: 33px;
    }
    h3,
    .h3 {
        font-size: 23px;
        line-height: 31px;
    }
    h4,
    .h4 {
        font-size: 20px;
        line-height: 28px;
    }
    h5,
    .h5 {
        font-size: 18px;
        line-height: 26px;
    }
    .text-display-1 {
        font-size: 45px;
        line-height: 53px;
    }
    .text-display-2 {
        font-size: 30px;
        line-height: 38px;
    }
    .text-body-1 {
        font-size: 13px;
        line-height: 21px;
    }
    .text-body-2 {
        font-size: 15px;
        line-height: 23px;
    }
    .text-body-3 {
        font-size: 18px;
        line-height: 26px;
    }
}
@media (max-width: 575px) {
    .text-title {
        font-size: 14px;
        line-height: 22px;
    }
}
.fw-3 {
    font-weight: 300 !important;
}

.fw-4 {
    font-weight: 400 !important;
}

.fw-5 {
    font-weight: 500 !important;
}

.fw-6 {
    font-weight: 600 !important;
}

.fw-7 {
    font-weight: 700 !important;
}

/* text-color
-------------------------------------------------------------- */
.text_white {
    color: var(--White);
}

.text_white-light {
    color: var(--White-light);
}

.text_on-surface-color {
    color: var(--On-surface);
}

.text_secodary-color {
    color: var(--Secondary);
}

.text_secodary2-color {
    color: var(--Secondary2);
}

/* link style
-------------------------------------------------------------- */
.link {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: inherit;
}
.link:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
    color: inherit;
}
a:focus,
a:hover {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    text-decoration: none;
    outline: 0;
}

/* text color
-------------------------------------------------------------- */
.font-2 {
    font-family: "Mulish", sans-serif;
}

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

.line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box !important;
}

.line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
}

.line-clamp-4 {
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
}

.text-whitespace {
    white-space: nowrap;
}

.overflow-x-auto {
    overflow-x: auto;
}
.overflow-x-auto::-webkit-scrollbar {
    height: 3px;
    background-color: var(--Mono-gray-2);
}
.overflow-x-auto::-webkit-scrollbar-thumb {
    background: var(--Black);
    border-radius: 999px;
}

.overflow-y-auto {
    overflow-y: auto;
}
.overflow-y-auto::-webkit-scrollbar {
    height: 3px;
    background-color: var(--Mono-gray-2);
}
.overflow-y-auto::-webkit-scrollbar-thumb {
    background: var(--Black);
    border-radius: 999px;
}

/* container
-------------------------------------------------------------- */
.row {
    margin-top: 0 !important;
    margin-right: -15px !important;
    margin-left: -15px !important;
}
.row > * {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.tf-container {
    max-width: 1830px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.tf-container.w-1320 {
    max-width: 1320px;
}
.tf-container.w-1590 {
    max-width: 1590px;
}
.tf-container.w-xl {
    max-width: 1440px;
}
.tf-container.w-xxl {
    max-width: 1590px;
}

.h-full {
    height: 100% !important;
}

.w-full {
    width: 100% !important;
    max-width: 100% !important;
}

/* backgroud
-------------------------------------------------------------- */
.bg-surface-color {
    background-color: var(--Surface-light);
}

.bg-surface2-color {
    background-color: var(--Surface-2-light);
}

/* grid-layout
-------------------------------------------------------------- */
.tf-grid-layout {
    --spacing: 30px;
    display: grid;
    column-gap: var(--spacing);
    row-gap: var(--spacing);
}
.tf-grid-layout.tf-col-2 {
    grid-template-columns: 1fr 1fr;
}
.tf-grid-layout.tf-col-3 {
    grid-template-columns: repeat(3, 1fr);
}
.tf-grid-layout.tf-col-4 {
    grid-template-columns: repeat(4, 1fr);
}
.tf-grid-layout.tf-col-5 {
    grid-template-columns: repeat(5, 1fr);
}
.tf-grid-layout.tf-col-6 {
    grid-template-columns: repeat(6, 1fr);
}
.tf-grid-layout.tf-col-7 {
    grid-template-columns: repeat(7, 1fr);
}
.tf-grid-layout .wg-pagination {
    grid-column: 1/-1;
    width: 100%;
}
.tf-grid-layout .wd-load {
    grid-column: 1/-1;
}
.tf-grid-layout.gap30 {
    gap: 30px;
}

.tf-grid-layout-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

@media (min-width: 576px) {
    .tf-grid-layout.sm-col-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tf-grid-layout.sm-col-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tf-grid-layout.sm-col-4 {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (min-width: 768px) {
    .tf-grid-layout {
        --spacing: 24px;
        gap: var(--spacing);
    }
    .tf-grid-layout.md-col-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tf-grid-layout.md-col-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tf-grid-layout.md-col-4 {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (min-width: 992px) {
    .tf-grid-layout {
        --spacing: 30px;
        gap: var(--spacing);
    }
    .tf-grid-layout.lg-col-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tf-grid-layout.lg-col-2 .item-grid {
        position: relative;
    }
    .tf-grid-layout.lg-col-2 .item-grid:not(:nth-child(2n))::before {
        content: "";
        position: absolute;
        height: 100%;
        width: 1px;
        background-color: var(--Line);
        right: calc(var(--spacing) / 2 * -1);
    }
    .tf-grid-layout.lg-col-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tf-grid-layout.lg-col-3 .item-grid {
        position: relative;
    }
    .tf-grid-layout.lg-col-3 .item-grid:not(:nth-child(3n))::before {
        content: "";
        position: absolute;
        height: 100%;
        width: 1px;
        background-color: var(--Line);
        right: calc(var(--spacing) / 2 * -1);
    }
    .tf-grid-layout.lg-col-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .tf-grid-layout.lg-col-4 .item-grid {
        position: relative;
    }
    .tf-grid-layout.lg-col-4 .item-grid:not(:nth-child(4n))::before {
        content: "";
        position: absolute;
        height: 100%;
        width: 1px;
        background-color: var(--Line);
        right: calc(var(--spacing) / 2 * -1);
    }
    .tf-grid-layout.lg-col-5 {
        grid-template-columns: repeat(5, 1fr);
    }
}
@media (min-width: 1200px) {
    .tf-grid-layout.xl-col-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tf-grid-layout.xl-col-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tf-grid-layout.xl-col-4 {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (min-width: 1441px) {
    .tf-grid-layout.xxl-col-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tf-grid-layout.xxl-col-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .tf-grid-layout.xxl-col-4 .item-grid {
        position: relative;
    }
    .tf-grid-layout.xxl-col-4 .item-grid:not(:nth-child(4n))::before {
        content: "";
        position: absolute;
        height: 100%;
        width: 1px;
        background-color: var(--Line);
        right: calc(var(--spacing) / 2 * -1);
    }
}
.rounded-cycle {
    border-radius: 999px !important;
}

.rounded-4 {
    border-radius: 4px !important;
}

.rounded-8 {
    border-radius: 8px !important;
}

.rounded-12 {
    border-radius: 12px !important;
}

.rounded-16 {
    border-radius: 16px !important;
}

.rounded-24 {
    border-radius: 24px !important;
}

.rounded-30 {
    border-radius: 30px !important;
}

.rounded-32 {
    border-radius: 32px !important;
}

.gap_0 {
    gap: 0;
}

.gap_2 {
    gap: 2px;
}

.gap_4 {
    gap: 4px;
}

.gap_5 {
    gap: 5px;
}

.gap_6 {
    gap: 6px;
}

.gap_7 {
    gap: 7px;
}

.gap_8 {
    gap: 8px;
}

.gap_9 {
    gap: 9px;
}

.gap_10 {
    gap: 10px;
}

.gap_11 {
    gap: 11px;
}

.gap_12 {
    gap: 12px;
}

.gap_13 {
    gap: 13px;
}

.gap_14 {
    gap: 14px;
}

.gap_15 {
    gap: 15px;
}

.gap_16 {
    gap: 16px;
}

.gap_17 {
    gap: 17px;
}

.gap_18 {
    gap: 18px;
}

.gap_19 {
    gap: 19px;
}

.gap_20 {
    gap: 20px;
}

/* margin
-------------------------------------------------------------- */
.mt_22 {
    margin-top: 22px;
}

.mb_2 {
    margin-bottom: 2px;
}

.mb_4 {
    margin-bottom: 4px;
}

.mb_6 {
    margin-bottom: 6px;
}

.mb_8 {
    margin-bottom: 8px;
}

.mb_10 {
    margin-bottom: 10px;
}

.mb_11 {
    margin-bottom: 11px;
}

.mb_12 {
    margin-bottom: 12px;
}

.mb_16 {
    margin-bottom: 16px;
}

.mb_17 {
    margin-bottom: 17px;
}

.mb_20 {
    margin-bottom: 20px;
}

.mb_22 {
    margin-bottom: 22px;
}

.mb_24 {
    margin-bottom: 24px;
}

.mb_26 {
    margin-bottom: 26px;
}

.mb_27 {
    margin-bottom: 27px;
}

.mb_28 {
    margin-bottom: 28px;
}

.mb_30 {
    margin-bottom: 30px;
}

.mb_32 {
    margin-bottom: 32px;
}

.mb_40 {
    margin-bottom: 40px;
}

.mb_80 {
    margin-bottom: 80px;
}

/* padding
-------------------------------------------------------------- */
/* spacing-section
-------------------------------------------------------------- */
.tf-spacing-1 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.tf-spacing-2 {
    padding-top: 80px;
    padding-bottom: 107px;
}

.tf-spacing-3 {
    padding-top: 80px;
    padding-bottom: 77px;
}

.tf-spacing-4 {
    padding-top: 60px;
    padding-bottom: 85px;
}

.tf-spacing-5 {
    padding-top: 81px;
    padding-bottom: 81px;
}

.tf-spacing-6 {
    padding-top: 80px;
    padding-bottom: 83px;
}

.tf-spacing-8 {
    padding-top: 81px;
    padding-bottom: 57px;
}

@media (max-width: 767px) {
    .tf-spacing-1,
    .tf-spacing-2,
    .tf-spacing-3,
    .tf-spacing-4,
    .tf-spacing-5,
    .tf-spacing-6 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}
/* backgroub color
-------------------------------------------------------------- */
/* Extra classes
-------------------------------------------------------------- */
.hidden {
    display: none;
}

#wrapper {
    background-color: var(--White-light);
    overflow-x: clip;
}

.z-5 {
    z-index: 5;
}

.swiper-slide {
    height: auto !important;
}

.site-logo {
    max-width: 193px;
}
.site-logo img {
    width: 100%;
}

.split-text {
    overflow: hidden;
}

@media (max-width: 767px) {
    .md-hide {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .lg-hide {
        display: none !important;
    }
}

.sticky-top {
    position: sticky;
    top: 68px;
}

.breadcrumb {
    gap: 24px;
    padding: 21px 0;
    margin-bottom: 0;
    flex-wrap: nowrap;
}
.breadcrumb li:not(:last-child) {
    position: relative;
    text-wrap: nowrap;
}
.breadcrumb li:not(:last-child)::after {
    position: absolute;
    content: "/";
    right: -15px;
    color: var(--Line);
}
.breadcrumb li:last-child {
    color: var(--Secondary2);
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box !important;
}

.tf-line {
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--Line);
    margin: 40px 0;
}

.wg-pagination {
    margin-top: 24px;
}
.wg-pagination a {
    height: 36px;
    width: 36px;
    border: 1px solid var(--Line);
    background-color: var(--White-light);
    color: var(--On-surface);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    border-radius: 50%;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.wg-pagination li:hover a,
.wg-pagination li.active a {
    background-color: var(--On-surface);
    color: var(--White-light);
}
@media (min-width: 768px) {
    .wg-pagination {
        margin-top: 38px;
    }
    .wg-pagination a {
        height: 48px;
        width: 48px;
    }
    .wg-pagination a i {
        font-size: 24px;
    }
}

.tf-social {
    gap: 24px;
    font-size: 28px;
    color: var(--On-surface);
}
.tf-social a:hover {
    -webkit-transform: translate3d(0, -2px, 0);
    transform: translate3d(0, -2px, 0);
}
.tf-social.style-1 {
    gap: 12px;
}
.tf-social.style-1 a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    border: 1px solid var(--Line);
    font-size: 20px;
}
.tf-social.style-1 a:hover {
    background-color: var(--On-surface);
    color: var(--White-light);
}
.tf-social.style-2 {
    font-size: 20px;
    gap: 12px;
}
.tf-social.style-2 a {
    border-radius: 50%;
    padding: 10px;
    background-color: var(--Surface-light);
}
.tf-social.style-2 a:hover {
    background-color: var(--On-surface);
    color: var(--White);
}

.avatar {
    border-radius: 50%;
    overflow: hidden;
}

.overlay-link {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

@media (max-width: 767px) {
    .site-logo img {
        width: 132px;
    }
}

.progress-wrap {
    position: fixed;
    bottom: 40px;
    right: 15px;
    height: 40px;
    width: 40px;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 999px;
    z-index: 98;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
    background: var(--White-light);
    border: 1px solid var(--Line);
}
.progress-wrap::after {
    position: absolute;
    content: "\f077";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    text-align: center;
    line-height: 40px;
    font-size: 20px;
    color: var(--On-surface);
    height: 40px;
    width: 40px;
    cursor: pointer;
    z-index: 1;
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
}
.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
.progress-wrap svg path {
    fill: none;
}
.progress-wrap svg.progress-circle path {
    box-sizing: border-box;
    stroke: var(--On-surface);
    stroke-width: 4;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: 0.4s;
    transition-timing-function: linear;
}

/* sib-form */
.sib-form {
    padding: 0;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    box-sizing: border-box !important;
}

.sib-form *,
.sib-form ::after,
.sib-form ::before {
    box-sizing: border-box !important;
}

#sib-container {
    background-color: unset;
    padding: 0;
}

.sib-form .entry__field {
    background-color: unset;
    border: 0;
    box-shadow: none !important;
    margin: 0;
}

.sib-form .sib-form-container .input {
    outline: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    width: 100%;
    padding: 10px 14px 10px 28px;
    height: 64px;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    background-color: var(--White-light);
    border: 2px solid var(--Line);
    border-radius: 99px;
    color: var(--On-surface);
    overflow: hidden;
    margin-bottom: 0;
}

.sib-form .entry__specification,
.sib-form .entry__error,
.entry__specification,
.entry__label {
    margin: 0 !important;
}

.sib-form .entry__error {
    margin-top: 5px !important;
    font-size: 14px;
    line-height: 20px;
}

.sib-form-block {
    padding: 0;
}

.sib-optin {
    display: none;
}

#sib-form {
    position: relative;
}

#sib-form .sib-form-block__button {
    position: absolute;
    top: 8px;
    right: 8px;
    transform: none;
    line-height: 26px;
    min-height: unset;
}

.sib-form .clickable__icon {
    margin: 0 5px 0 0;
    fill: #fff;
}

.sib-form-message-panel {
    border: 0;
    padding: 0;
    border-radius: 0px;
    background: transparent;
}

#success-message .sib-form-message-panel__inner-text {
    color: #6bc044;
}

#success-message svg path {
    fill: #6bc044;
}

.menu-tab .tab-link {
    padding: 8px 20px;
    border: 1px solid var(--Line);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    border-radius: 8px;
    color: var(--On-surface);
    text-wrap: nowrap;
}
.menu-tab .tab-link.active {
    border-width: 2px;
    border-color: var(--On-surface);
}

.flat-animate-tab .tab-content {
    position: relative;
}
.flat-animate-tab .tab-pane {
    display: block;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
    transition-timing-function: ease-in;
    transition-duration: 0.2s;
}
.flat-animate-tab .tab-pane.active {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 2;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    transition-timing-function: ease-out;
    transition-duration: 0.3s;
    transition-delay: 0.3s;
}

/*------------ Components ---------------- */
/*------------ header ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.topbar {
    padding-top: 35px;
    padding-bottom: 35px;
}
.topbar .tf-social,
.topbar .wrap,
.topbar .site-logo {
    flex: 1;
}
.topbar .wrap {
    gap: 34px;
}
.topbar .mode-check {
    position: relative;
}
.topbar .mode-check::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 20px;
    right: -16px;
    background-color: var(--Line-2);
}
@media (max-width: 767px) {
    .topbar .mode-check {
        position: relative;
    }
    .topbar .mode-check::before {
        display: none;
    }
}
@media (min-width: 992px) {
    .topbar .site-logo {
        text-align: center;
        margin-left: 30px;
    }
}
.topbar.style-1 {
    border-bottom: 1px solid var(--Line);
}
.topbar.style-1 .wrap {
    gap: 43px;
}
.topbar.style-1 .mode-check::before {
    right: -21px;
}
.topbar.style-1 .topbar-inner {
    gap: 40px;
}
@media (max-width: 767px) {
    .topbar.style-1 .mode-check::before {
        display: none;
    }
}

.header-menu {
    position: relative;
    z-index: 99;
    background-color: var(--Surface);
}
.header-menu .btn-find {
    font-size: 24px;
    color: var(--On-surface);
}
.header-menu.style-default {
    border-width: 1px 0px 1px 0px;
    border-style: solid;
    border-color: var(--Line);
}
.header-menu.style-1 {
    border-bottom: 1px solid var(--Line);
}
.header-menu.style-1 .header-left {
    display: flex;
    align-items: center;
    gap: 30px;
}
.header-menu.style-1 .header-right {
    gap: 42px;
}
.header-menu.style-1 .main-menu .navigation > li {
    padding: 47px 0;
}
.header-menu.style-1 .site-logo {
    padding: 24px 0;
}
@media (max-width: 575px) {
    .header-menu.style-1 .header-right {
        gap: 10px;
    }
}
@media (max-width: 1199px) {
    .header-menu.style-1 .main-menu {
        display: none;
    }
}
@media (max-width: 1440px) {
    .header-menu.style-1 .site-logo {
        max-width: 144px;
    }
    .header-menu.style-1 .main-menu .navigation {
        display: flex;
        gap: 15px;
    }
    .header-menu.style-1 .main-menu .navigation li {
        gap: 3px;
    }
    .header-menu.style-1 .main-menu .navigation > li:not(:last-child)::before {
        right: -10px;
    }
}
@media (min-width: 576px) {
    .header-menu.style-1 .btn-find {
        position: relative;
    }
    .header-menu.style-1 .btn-find::after,
    .header-menu.style-1 .btn-find::before {
        content: "";
        position: absolute;
        width: 1px;
        height: 20px;
        background-color: var(--Line);
    }
    .header-menu.style-1 .btn-find::after {
        right: -20px;
    }
    .header-menu.style-1 .btn-find::before {
        left: -22px;
    }
}
@media (min-width: 1441px) {
    .header-menu.style-1 .header-left {
        gap: 79px;
    }
}

.header-menu.header-fixed {
    top: 0;
    left: 0;
    right: 0;
    position: fixed;
    opacity: 0;
    z-index: 9999;
    -webkit-transform: translateY(-120%);
    -khtml-transform: translateY(-120%);
    -moz-transform: translateY(-120%);
    -ms-transform: translateY(-120%);
    -o-transform: translateY(-120%);
    transform: translateY(-120%);
    -webkit-transition: 0.6s cubic-bezier(0.24, 0.74, 0.58, 1);
    -khtml-transition: 0.6s cubic-bezier(0.24, 0.74, 0.58, 1);
    -moz-transition: 0.6s cubic-bezier(0.24, 0.74, 0.58, 1);
    -ms-transition: 0.6s cubic-bezier(0.24, 0.74, 0.58, 1);
    -o-transition: 0.6s cubic-bezier(0.24, 0.74, 0.58, 1);
    transition: 0.6s cubic-bezier(0.24, 0.74, 0.58, 1);
    visibility: hidden;
    box-shadow: 0px 4px 18px rgba(0, 0, 0, 0.08);
    pointer-events: none;
    background-color: var(--White-light);
}
.header-menu.header-fixed.style-1 .main-menu .navigation > li {
    padding: 33px 0;
}
.header-menu.header-fixed.is-fixed {
    -webkit-transform: translateY(0);
    -khtml-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
    opacity: 1;
    pointer-events: all;
}

.mobile-button {
    cursor: pointer;
    padding: 18px 0;
}
.mobile-button .burger {
    position: relative;
    width: 25px;
    cursor: pointer;
}
.mobile-button .burger span {
    display: block;
    position: relative;
    height: 3px;
    width: 25px;
    transition: 0.5s;
    background-color: var(--On-surface);
}
.mobile-button .burger span:not(:first-child) {
    margin-top: 3px;
}
.mobile-button .burger span:nth-of-type(1) {
    top: 0px;
    transform-origin: left;
}
.mobile-button .burger span:nth-of-type(3) {
    top: 100%;
    transform-origin: right;
}
.mobile-button:hover .burger span:nth-of-type(1) {
    transform: scale(0.2, 1.7) translateY(3.5px);
}
.mobile-button:hover .burger span:nth-of-type(2) {
    transform: scale(0.2, 1.7);
}
.mobile-button:hover .burger span:nth-of-type(3) {
    transform: scale(0.2, 1.7) translateY(-3.5px);
}

.mobile-nav-wrap {
    z-index: 99999;
    background-color: var(--White-light);
}
.mobile-nav-wrap .offcanvas-header {
    padding: 2rem 1rem;
}
.mobile-nav-wrap .mb-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    padding-bottom: 30px;
    gap: 30px;
}
.mobile-nav-wrap .mb-body .support .text-need {
    font-weight: 500;
    border-bottom: 1px solid var(--On-surface);
    margin-bottom: 11px;
    color: var(--Secondary);
}
.mobile-nav-wrap .mb-body .support .mb-info li {
    color: rgb(134, 134, 134);
    font-size: 14px;
    line-height: 24px;
}
.mobile-nav-wrap .mb-body .support .mb-info li span {
    margin-left: 5px;
    font-weight: 600;
    color: var(--On-surface);
}
.mobile-nav-wrap .mb-body .support .mb-info li a {
    margin-left: 5px;
    font-weight: 400;
    color: var(--On-surface);
}
.mobile-nav-wrap .support {
    padding-bottom: 18px;
}
.mobile-nav-wrap .tf-btn {
    margin-bottom: 24px;
}
.mobile-nav-wrap .btn-close-menu {
    margin-right: 15px;
    font-size: 26px;
    color: var(--On-surface);
    margin-left: auto;
}

.main-menu .navigation {
    display: flex;
    gap: 40px;
}
.main-menu .navigation li {
    display: flex;
    gap: 8px;
    align-items: center;
}
.main-menu .navigation li a {
    font-size: 16px;
    color: var(--On-surface);
    line-height: 26px;
    font-weight: 700;
}
.main-menu .navigation > li {
    padding: 16px 0;
}
.main-menu .navigation > li > a {
    position: relative;
}
.main-menu .navigation > li > a::after {
    position: absolute;
    content: "";
    width: 0;
    height: 2px;
    background-color: var(--On-surface);
    left: 0;
    bottom: 0;
}
.main-menu .navigation > li.current-menu > a::after {
    width: 100%;
}
.main-menu .navigation > li:not(:last-child) {
    position: relative;
}
.main-menu .navigation > li:not(:last-child)::before {
    position: absolute;
    content: "/";
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: var(--Line);
    right: -24px;
    pointer-events: none;
}

.navigation > .has-child {
    position: relative;
    display: flex;
    cursor: pointer;
}
.navigation > .has-child::after {
    position: relative;
    content: "\f107"; /* fa-angle-down */
    font-family: "Font Awesome 6 Free";
    font-weight: 900; /* Required for solid icons */
    z-index: 1;
    transition: all 0.3s ease;
}
.navigation > .has-child > a {
    position: relative;
    color: var(--Primary);
    letter-spacing: 0.8px;
    display: flex;
    align-items: center;
}
.navigation > .has-child:hover::after {
    transform: rotate(-180deg);
}
.navigation .has-child > a {
    position: relative;
}
.navigation .has-child .submenu {
    min-width: max-content;
    background-color: var(--White-light);
    top: 100%;
    left: 0;
    position: absolute;
    margin-top: 30px;
    opacity: 0;
    visibility: hidden;
    padding: 20px;
    z-index: 28;
    pointer-events: none;
    display: flex;
    row-gap: 18px;
    flex-direction: column;
    transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
    border: 1px solid var(--Line);
    border-radius: 0 0 8px 8px;
}
.navigation .has-child .submenu > li > a {
    position: relative;
}
.navigation .has-child .submenu > li > a::before {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: auto;
    right: 0;
    bottom: 0;
    background-color: var(--On-surface);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.navigation .has-child .submenu > li:hover > a::before,
.navigation .has-child .submenu > li.current-menu-item > a::before {
    left: 0;
    right: auto;
    width: 100%;
}
.navigation .has-child li .submenu {
    top: -22px;
    left: calc(100% + 21px);
    border-radius: 8px;
}
.navigation .has-child li.has-child {
    justify-content: space-between;
    position: relative;
}
.navigation .has-child li.has-child::after {
    content: "\e927";
    position: relative;
    font-family: "icomoon";
    font-size: 20px;
    color: var(--Black);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.navigation .has-child li.has-child::before {
    position: absolute;
    content: "";
    width: 35%;
    height: 45px;
    top: 0px;
    left: 103%;
}
.navigation .has-child li.has-child > a {
    justify-content: space-between;
    width: 100%;
    position: relative;
    max-width: max-content;
}
.navigation .has-child li.has-child:hover::after {
    transform: rotate(-90deg);
}
.navigation .text-menu .toggle {
    display: grid;
}
.navigation .text-menu .toggle .text {
    grid-area: 1/1;
    transition:
        opacity 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95),
        transform 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.navigation .text-menu .toggle .text .word {
    white-space: nowrap;
}
.navigation .text-menu .toggle .text .char {
    display: inline-block;
    transform-origin: 50% 50% 0.4em;
    transition: transform 0.5s cubic-bezier(0.5, 0, 0, 1);
    transition-delay: calc(0ms + var(--char-index) * 25ms);
    backface-visibility: hidden;
    margin: 0 -0.02em;
}
.navigation .text-menu .toggle .text:nth-child(2) {
    opacity: 0;
}
.navigation .text-menu .toggle .text:nth-child(2) .char {
    transform: rotate3d(1, -0.5, 0, 90deg);
}
.navigation .text-menu:hover .toggle .text:nth-child(1) {
    opacity: 0.5;
}
.navigation .text-menu:hover .toggle .text:nth-child(1) .char {
    transform: rotate3d(1, 0.3, 0, -90deg);
}
.navigation .text-menu:hover .toggle .text:nth-child(2) {
    opacity: 1;
}
.navigation .text-menu:hover .toggle .text:nth-child(2) .char {
    transform: rotate3d(0, 0, 0, 90deg);
}
.navigation .has-child:hover > .submenu {
    pointer-events: all;
    margin-top: 0;
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}

#menu-mobile-menu .item-menu-mobile {
    padding: 27px 0;
    width: 100%;
}
#menu-mobile-menu > .menu-item {
    border-top: 1px solid var(--Line);
}
#menu-mobile-menu > .menu-item > .item-menu-mobile {
    padding-left: 36px;
    padding-right: 40px;
}
#menu-mobile-menu > .menu-item:last-child {
    border-bottom: 1px solid var(--Line);
}
#menu-mobile-menu .menu-item {
    font-size: 24px;
    font-weight: 700;
    color: var(--On-surface);
}
#menu-mobile-menu .menu-item-has-children-mobile .item-menu-mobile {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
#menu-mobile-menu .menu-item-has-children-mobile .item-menu-mobile:after,
#menu-mobile-menu .menu-item-has-children-mobile .item-menu-mobile::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: auto;
    background-color: var(--On-surface);
    transition: 0.4s ease 0.1s;
    margin: auto;
}
#menu-mobile-menu .menu-item-has-children-mobile .item-menu-mobile::before {
    width: 2px;
    height: 20px;
    right: 25px;
}
#menu-mobile-menu .menu-item-has-children-mobile .item-menu-mobile::after {
    width: 20px;
    height: 2px;
    right: 16px;
}
#menu-mobile-menu
    .menu-item-has-children-mobile
    .item-menu-mobile:not(.collapsed)::before {
    transform: rotate(90deg);
}
#menu-mobile-menu .sub-mobile {
    padding-left: 50px;
    padding-bottom: 14px;
}
#menu-mobile-menu .sub-mobile .menu-item {
    font-weight: 500;
}
#menu-mobile-menu .sub-mobile .menu-item a {
    padding: 10px 0;
    width: 100%;
}
#menu-mobile-menu .sub-mobile .menu-item:not(:last-child) a {
    border-bottom: 1px solid var(--Line);
}
@media (max-width: 1440px) {
    #menu-mobile-menu .item-menu-mobile {
        padding: 20px 0;
    }
}
@media (max-width: 991px) {
    #menu-mobile-menu .menu-item {
        font-size: 16px;
    }
    #menu-mobile-menu .menu-item a {
        padding: 12px 0;
    }
    #menu-mobile-menu > .menu-item > .item-menu-mobile {
        padding-left: 15px;
        padding-right: 15px;
    }
    #menu-mobile-menu .item-menu-mobile {
        padding: 11px 0;
    }
    #menu-mobile-menu .sub-mobile {
        padding-left: 25px;
    }
    #menu-mobile-menu .sub-mobile .sub-mobile {
        padding-left: 10px;
    }
    #menu-mobile-menu .menu-item-has-children-mobile .item-menu-mobile::before {
        width: 2px;
        height: 12px;
        right: 21px;
    }
    #menu-mobile-menu .menu-item-has-children-mobile .item-menu-mobile::after {
        width: 12px;
        height: 2px;
    }
}
#menu-mobile-menu .nav_link {
    transition-delay: 0.2s;
}
#menu-mobile-menu .nav_link.active {
    background-color: var(--Line);
}

/*------------ footer ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.footer {
    border-radius: 16px;
    border: 1px solid var(--Line);
}
.footer .footer-body {
    display: flex;
    justify-content: space-between;
}
.footer .footer-item {
    padding: 38px 30px 40px;
}
.footer .footer-about,
.footer .footer-newsletter {
    flex: 11%;
}
.footer .footer-content {
    display: flex;
    justify-content: space-between;
    position: relative;
    border-left: 1px solid var(--Line);
    border-right: 1px solid var(--Line);
    flex: 28.6%;
}
.footer .box-fieldset-item a {
    text-decoration: underline;
}
.footer .footer-bottom {
    padding: 13px 60px;
    border-top: 1px solid var(--Line);
}
.footer .list {
    --spacing-list: 25px;
    gap: var(--spacing-list);
}
.footer .list li {
    position: relative;
}
.footer .list li:not(:last-child)::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 16px;
    background-color: var(--Line);
    right: calc(var(--spacing-list) / 2 * -1);
    top: 50%;
    transform: translateY(-50%);
}
@media (min-width: 768px) {
    .footer .footer-col-block {
        max-width: 140px;
        width: 100%;
    }
}
@media (min-width: 1441px) {
    .footer .footer-item {
        padding: 38px 60px 40px;
    }
    .footer .footer-content {
        flex: 19.6%;
    }
}
@media (max-width: 991px) {
    .footer .footer-body {
        flex-direction: column;
    }
    .footer .footer-content {
        border: unset;
    }
}
@media (max-width: 767px) {
    .footer .footer-content {
        flex-direction: column;
        gap: 30px;
    }
    .footer .footer-top {
        gap: 12px;
    }
    .footer .footer-body {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .footer .footer-body .right {
        flex-direction: column;
        gap: 23px;
    }
    .footer .footer-top,
    .footer .footer-top .content {
        flex-direction: column;
        align-items: start !important;
    }
    .footer .footer-menu-list {
        padding-top: 13px;
        padding-left: 12px;
    }
    .footer .footer-heading-mobile {
        display: block;
        position: relative;
    }
    .footer .footer-heading-mobile::after {
        position: absolute;
        content: "";
        right: 9px;
        top: 50%;
        transform: translateY(-50%);
        width: 15px;
        height: 1px;
        background-color: var(--Secondary);
        transition: 0.25s ease-in-out;
    }
    .footer .footer-heading-mobile::before {
        position: absolute;
        content: "";
        right: 15px;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 1px;
        height: 15px;
        background-color: var(--Secondary);
        transition: 0.25s ease-in-out;
    }
    .footer .footer-col-block {
        width: 100%;
    }
    .footer .footer-col-block .tf-collapse-content {
        display: none;
    }
    .footer .footer-col-block .footer-heading {
        margin-bottom: 0 !important;
    }
    .footer .footer-col-block.open .footer-heading-mobile::before {
        opacity: 0;
    }
    .footer .footer-col-block.open .footer-heading-mobile::after {
        transform: translate(0%, -50%) rotate(180deg);
    }
    .footer .footer-col-block .tf-collapse-content {
        display: none;
    }
    .footer .footer-about,
    .footer .footer-content,
    .footer .footer-newsletter,
    .footer .footer-bottom {
        padding: 20px 15px;
    }
}
@media (max-width: 575px) {
    .footer .footer-bottom {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding-bottom: 24px;
    }
    .footer .list {
        --spacing-list: 12px;
    }
    .footer .footer-heading {
        font-size: 18px;
        line-height: 26px;
    }
}
.footer.style-1 .footer-about,
.footer.style-1 .footer-newsletter {
    flex: 11.4%;
}
.footer.style-1 .footer-content {
    flex: 7.6%;
}
.footer.style-2 .footer-about {
    flex: 10%;
}
@media (min-width: 1200px) {
    .footer.style-2 .footer-item {
        padding: 40px 60px 40px;
    }
    .footer.style-2 .footer-content {
        border: none;
        flex: 21.6%;
        border-left: 1px solid var(--Line);
    }
}
@media (min-width: 1600px) {
    .footer.style-2 .footer-content {
        padding: 38px 60px 42px 146px;
    }
}

/*------------ animation ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
/* Animation effects */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes slideInLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes slideInTop {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
@keyframes slideInBottom {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.effect-left {
    animation: slideInLeft 0.8s ease forwards;
}

.effect-right {
    animation: slideInRight 0.8s ease forwards;
}

.effect-top {
    animation: slideInTop 0.8s ease forwards;
}

.effect-bottom {
    animation: slideInBottom 0.8s ease forwards;
}

/*------------ button ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.tf-btn {
    height: 44px;
    font-size: 18px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 32px;
    border-radius: 999px;
    background-color: var(--On-surface);
    color: var(--White-light);
    width: max-content;
    transition: 0.4s cubic-bezier(0.42, 0, 0.58, 1);
    font-size: 16px;
    list-style: 26px;
    gap: 8px;
    font-weight: 600;
}
.tf-btn span {
    white-space: nowrap;
}
.tf-btn i {
    font-size: 12px;
}
@media (min-width: 768px) {
    .tf-btn {
        height: 50px;
    }
}
.tf-btn.btn-white {
    background-color: var(--White-light);
    color: var(--On-surface);
}
@media (max-width: 767px) {
    .tf-btn {
        padding: 0 16px;
        height: 36px;
    }
}

.animate-hover-btn {
    position: relative;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.animate-hover-btn:after {
    background-image: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.3),
        transparent
    );
    content: "";
    left: 150%;
    position: absolute;
    top: 0;
    bottom: 0;
    transform: skew(-20deg);
    width: 200%;
}
.animate-hover-btn:hover {
    -webkit-box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.15);
    -webkit-transform: translate3d(0, -2px, 0);
    transform: translate3d(0, -2px, 0);
}
.animate-hover-btn:hover:after {
    animation: shine 0.75s cubic-bezier(0.01, 0.56, 1, 1);
}

.btn-switch-text > span {
    display: inline-flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.btn-switch-text .btn-double-text {
    transition:
        opacity 0.3s,
        transform 0.6s;
    transition-timing-function: cubic-bezier(0.15, 0.85, 0.31, 1);
}
.btn-switch-text .btn-double-text:before {
    content: attr(data-text);
    display: inline-block;
    position: absolute;
    white-space: nowrap;
    top: 50%;
    opacity: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    transition:
        opacity 0.5s,
        transform 0.8s;
    transition-timing-function: cubic-bezier(0.15, 0.85, 0.31, 1);
}
.btn-switch-text:hover .btn-double-text,
.btn-switch-text:active .btn-double-text {
    transform: translateY(-200%);
}
.btn-switch-text:hover .btn-double-text:before,
.btn-switch-text:active .btn-double-text:before {
    transform: translate(-50%, 150%);
    opacity: 1;
}

@keyframes shine {
    100% {
        left: -200%;
    }
}
/*------------ form ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
form {
    position: relative;
    z-index: 9;
}
form textarea,
form input[type="text"],
form input[type="password"],
form input[type="datetime"],
form input[type="datetime-local"],
form input[type="date"],
form input[type="month"],
form input[type="time"],
form input[type="week"],
form input[type="number"],
form input[type="email"],
form input[type="url"],
form input[type="search"],
form input[type="tel"],
form input[type="color"] {
    outline: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    width: 100%;
    padding: 10px 14px;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    background-color: var(--White-light);
    border: 2px solid var(--Line);
    border-radius: 8px;
    color: var(--On-surface);
    overflow: hidden;
    margin-bottom: 0;
}
form textarea::placeholder,
form input[type="text"]::placeholder,
form input[type="password"]::placeholder,
form input[type="datetime"]::placeholder,
form input[type="datetime-local"]::placeholder,
form input[type="date"]::placeholder,
form input[type="month"]::placeholder,
form input[type="time"]::placeholder,
form input[type="week"]::placeholder,
form input[type="number"]::placeholder,
form input[type="email"]::placeholder,
form input[type="url"]::placeholder,
form input[type="search"]::placeholder,
form input[type="tel"]::placeholder,
form input[type="color"]::placeholder {
    color: var(--Secondary);
}
@media (min-width: 768px) {
    form textarea,
    form input[type="text"],
    form input[type="password"],
    form input[type="datetime"],
    form input[type="datetime-local"],
    form input[type="date"],
    form input[type="month"],
    form input[type="time"],
    form input[type="week"],
    form input[type="number"],
    form input[type="email"],
    form input[type="url"],
    form input[type="search"],
    form input[type="tel"],
    form input[type="color"] {
        height: 50px;
    }
}
form button,
form input[type="button"],
form input[type="reset"],
form input[type="submit"] {
    background-color: transparent;
    overflow: hidden;
    padding: 0;
}
form textarea {
    height: 100px;
    padding: 10px 19px;
}

.form-search fieldset input {
    border-radius: 1000px;
    height: 50px;
}
.form-search .btn-submit {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 8px;
}
.form-search .tf-btn {
    height: 36px;
}
@media (min-width: 768px) {
    .form-search fieldset input {
        height: 60px;
    }
    .form-search .tf-btn {
        height: 44px;
    }
}
.form-search.style-1 .btn-icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--On-surface);
    height: 36px;
    width: 36px;
    border-radius: 50%;
    color: var(--White-light);
    font-size: 16px;
}
@media (min-width: 768px) {
    .form-search.style-1 .btn-icon {
        font-size: 20px;
        height: 44px;
        width: 44px;
    }
}
.form-search.style-2 {
    max-width: 260px;
    width: 100%;
}
.form-search.style-2 fieldset input {
    height: 42px;
    border: none;
    border-bottom: 2px solid var(--On-surface);
    border-radius: 0;
    padding: 0;
}
.form-search.style-2 .btn-submit {
    top: 11px;
    transform: unset;
    right: 0;
}
.form-search.style-2 .btn-icon {
    font-size: 24px;
    height: unset;
    color: var(--On-surface);
}

.form-newslate fieldset input {
    border-radius: 100px;
    padding-left: 28px;
}
.form-newslate .btn-submit {
    height: 36px;
    width: 36px;
    font-size: 16px;
    border-radius: 50%;
    background-color: var(--On-surface);
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--White);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (min-width: 768px) {
    .form-newslate fieldset input {
        height: 64px;
    }
    .form-newslate .btn-submit {
        height: 48px;
        width: 48px;
        font-size: 24px;
    }
}

.tf-check {
    position: relative;
    cursor: pointer;
    outline: 0;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 2px solid var(--Secondary);
    background-color: transparent;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.tf-check:checked {
    background-color: var(--Secondary) !important;
}
.tf-check:checked::before {
    opacity: 1;
    transform: scale(1);
}
.tf-check::before {
    font-family: "icomoon";
    content: "\e90d";
    position: absolute;
    color: var(--White-light);
    opacity: 0;
    left: -1px;
    top: 0px;
    font-size: 12px;
    transform: scale(0.5);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.box-fieldset-item fieldset {
    margin-top: 5.5px;
    margin-right: 10px;
    flex-shrink: 0;
    margin-left: 3px;
}

.form-leave-comment .tf-grid-layout {
    --spacing: 17px;
}
.form-leave-comment fieldset input {
    color: var(--Secondary2);
}
.form-leave-comment fieldset input::placeholder {
    color: var(--Secondary2);
}
.form-leave-comment textarea {
    height: 160px;
    color: var(--Secondary2);
}
.form-leave-comment textarea::placeholder {
    color: var(--Secondary2);
}

@media (min-width: 992px) {
    .form-contact .tf-grid-layout {
        gap: 40px;
    }
}
.form-contact .button-submit {
    margin-top: 33px;
}

/*------------ slider ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.sw-button {
    position: unset;
    margin-top: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    border-radius: 8px;
}
.sw-button.style-default {
    height: 32px;
    width: 32px;
    border: 1px solid var(--On-surface);
    background-color: var(--White);
}
.sw-button.style-default i {
    font-size: 24px;
}
.sw-button.style-default::after {
    display: none;
}
@media (min-width: 768px) {
    .sw-button.style-default {
        height: 46px;
        width: 46px;
    }
}
.sw-button.style-cycle {
    height: 35px;
    width: 35px;
    color: var(--White-light);
    border: 1px solid var(--On-surface);
    background-color: var(--On-surface);
    border-radius: 50%;
    font-size: 22px;
}
.sw-button.style-cycle:hover,
.sw-button.style-cycle.swiper-button-disabled {
    background-color: var(--White-lght);
    border-color: var(--Line);
    color: var(--On-surface);
}
@media (min-width: 768px) {
    .sw-button.style-cycle {
        font-size: 28px;
        height: 48px;
        width: 48px;
    }
}
.sw-button.style-1 {
    font-size: 28px;
    padding: 28px 12px;
    background-color: var(--White);
}
.sw-button.style-1.swiper-button-disabled {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    color: var(--White);
}
.sw-button.style-1:hover {
    background-color: var(--On-surface);
    color: var(--White);
}
@media (max-width: 991px) {
    .sw-button.style-1 {
        font-size: 22px;
        padding: 17px 6px;
    }
}

.sw-dots .swiper-pagination-bullet {
    background: var(--Line);
    opacity: 1;
    width: 10px;
    height: 10px;
}
.sw-dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--On-surface) !important;
}
.sw-dots.style-1 .swiper-pagination-bullet {
    background: var(--Secondary);
}
.sw-dots.style-1 .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--White) !important;
}

/*------------ off canvas ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.offcanvas-search {
    padding: 40px 0;
    height: max-content !important;
    z-index: 99999;
    background-color: var(--White-light);
}
.offcanvas-search .title {
    margin-bottom: 16px;
}
.offcanvas-search .list {
    gap: 12px 20px;
}
.offcanvas-search .list a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 58px;
    padding: 0 20px;
    border: 2px solid var(--Line);
    border-radius: 8px;
}
.offcanvas-search .list a:hover {
    background-color: var(--On-surface);
    color: var(--White-light);
}
.offcanvas-search .btn-close-search {
    font-size: 32px;
    position: absolute;
    right: 20px;
    top: 20px;
    background-color: unset;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: var(--On-surface);
}
.offcanvas-search .btn-close-search:hover {
    transform: rotate(-180deg);
}
.offcanvas-search .wrap-form {
    margin-bottom: 24px;
}
.offcanvas-search .tf-line {
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--Line);
    margin: 24px 0;
}
@media (min-width: 768px) {
    .offcanvas-search .wrap-form {
        margin-bottom: 40px;
    }
    .offcanvas-search .tf-line {
        margin: 40px 0;
    }
}
@media (min-width: 992px) {
    .offcanvas-search .trending .tf-grid-layout {
        gap: 28px 64px;
    }
    .offcanvas-search .trending .tf-grid-layout .item-grid::before {
        right: -32px;
    }
}

.offcanvas-backdrop,
.overlay-blog,
.modal-backdrop {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
    position: fixed;
    background: rgba(0, 0, 0, 0.7019607843);
    opacity: 0.7;
    backdrop-filter: blur(10px);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.offcanvas-backdrop.show,
.overlay-blog.show,
.modal-backdrop.show {
    opacity: 1;
    visibility: visible;
    z-index: 9999;
}

.auto-popup {
    display: none;
    position: fixed;
    bottom: 0;
    z-index: 99999;
    margin: 0 15px;
    right: 0;
    left: 0;
}

.popup-hire-me {
    background-image: url("../images/sections/bg-popup.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    padding: 20px;
    max-width: max-content;
    border-radius: 12px;
    gap: 24px;
    position: relative;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
}
.popup-hire-me .avatar {
    height: 80px;
    width: 80px;
    flex-shrink: 0;
}
.popup-hire-me .close-btn {
    position: absolute;
    top: -9px;
    right: -9px;
    font-size: 19.5px;
    height: 26px;
    width: 26px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--White-light);
    color: var(--On-surface);
    border-radius: 50%;
    cursor: pointer;
}
@media (max-width: 575px) {
    .popup-hire-me {
        max-width: 100%;
        gap: 12px;
        padding: 15px;
    }
    .popup-hire-me .avatar {
        height: 50px;
        width: 50px;
    }
}

.modal-detail {
    z-index: 9999999;
}
.modal-detail .icon-close-popup {
    cursor: pointer;
    position: absolute;
    right: 24px;
    top: 24px;
    font-size: 24px;
}
.modal-detail .modal-dialog {
    max-width: 1322px;
}

/*------------ dark-mode ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.dark-mode {
    --On-surface: #fff;
    --Surface: #ffffff14;
    --Surface-light: #161616;
    --Surface-2-light: #161616;
    --White-light: #161616;
    --Line: #ffffff1a;
    --Secondary: #a0a0a0;
    --Secondary2: #4e5052;
}
.dark-mode .mode-check {
    --On-surface: #4e5052;
    --Secondary2: #fff;
}
.dark-mode .mode-check .toggle-switch-mode {
    --On-surface: #161616;
}
.dark-mode .wrap-tag-categories::after {
    background: linear-gradient(90deg, rgba(22, 22, 22, 0) 0%, #161616 100%);
}
.dark-mode .form-newslate {
    --White-light: rgba(255, 255, 255, 0.08);
    --On-surface: #161616;
}
.dark-mode .header-fixed {
    backdrop-filter: blur(10px);
}
.dark-mode .sidebar-categories .number {
    color: #161616;
}
.dark-mode .header-menu {
    --Surface: #161616;
}
.dark-mode form input {
    --On-surface: #fff;
}

/*------------ feature-post ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.feature-post-item {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
}
.feature-post-item .img-style {
    position: relative;
    border-radius: 12px;
}
.feature-post-item .img-style img {
    width: 100%;
    object-fit: cover;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.feature-post-item .img-style img.hide {
    opacity: 0;
}
.feature-post-item .wrap-tag {
    position: absolute;
    top: 20.5px;
    left: 20px;
    right: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 12px;
}
.feature-post-item .tag {
    height: 32px;
    padding: 0 16px;
    border-radius: 28px;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 4;
    font-weight: 700;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
}
.feature-post-item .tag i {
    font-size: 16px;
}
.feature-post-item .tag.time {
    padding: 0 12px;
}
.feature-post-item .wrap-meta {
    flex-wrap: wrap;
    row-gap: 4px;
}
.feature-post-item .video_btn_play {
    position: absolute;
    left: 20px;
    bottom: 20px;
    background-color: var(--White);
    height: 48px;
    width: 48px;
    border-radius: 50%;
    color: #161616;
    z-index: 7;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-post-item .video_btn_play .pause {
    display: none;
}
.feature-post-item .video_btn_play .play {
    margin-left: 4px;
}
.feature-post-item .video_btn_play.active .play {
    display: none;
}
.feature-post-item .video_btn_play.active .pause {
    display: block;
}
@media (max-width: 767px) {
    .feature-post-item .img-style {
        margin-bottom: 16px;
    }
}
.feature-post-item.style-2 {
    border: 1px solid var(--Line);
    border-radius: 7px;
    overflow: hidden;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.feature-post-item.style-2 .img-style {
    border-radius: 0;
}
.feature-post-item.style-2 .content {
    padding: 20px;
}
.feature-post-item.style-2:hover {
    border-color: transparent;
    box-shadow: 0px 8.18px 20.46px 0px rgba(54, 95, 104, 0.1019607843);
}
.feature-post-item.style-small {
    gap: 20px;
}
.feature-post-item.style-small .img-style {
    margin-bottom: 0;
    border-radius: 8px;
    flex-shrink: 0;
    width: 123px;
    height: 92px;
}
.feature-post-item.style-small .wrap {
    flex-wrap: wrap;
    row-gap: 12px;
}
.feature-post-item.style-small .tag {
    position: unset;
    height: 24px;
    padding: 0 8px;
}
.feature-post-item.style-small .meta-feature {
    gap: 3px 22px;
    flex-wrap: wrap;
}
.feature-post-item.style-small .meta-feature li::after {
    color: var(--Secondary);
}
@media (max-width: 575px) {
    .feature-post-item.style-small .meta-feature {
        column-gap: 16px;
    }
    .feature-post-item.style-small .meta-feature li::after {
        right: -12px;
    }
}
.feature-post-item.style-small.v2 .img-style {
    width: 120px;
    height: 120px;
}
@media (max-width: 1199px) {
    .feature-post-item.style-small.v2 .img-style {
        width: 100px;
        height: 100px;
    }
}
@media (max-width: 1199px) {
    .feature-post-item.style-small {
        gap: 12px;
    }
}
.feature-post-item.style-list {
    display: flex;
    align-items: center;
    gap: 40px;
}
.feature-post-item.style-list .img-style {
    margin-bottom: 0;
    flex: 20%;
    height: 100%;
}
.feature-post-item.style-list .img-style img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.feature-post-item.style-list .content {
    flex: 20%;
}
.feature-post-item.style-list .meta-feature {
    margin-bottom: 16px;
    flex-wrap: wrap;
    row-gap: 3px;
}
.feature-post-item.style-list .title {
    margin-bottom: 20px;
}
.feature-post-item.style-list .heading {
    margin-bottom: 40px;
}
.feature-post-item.style-list.v2,
.feature-post-item.style-list.v3 {
    gap: 18px;
}
.feature-post-item.style-list.v2 .img-style,
.feature-post-item.style-list.v3 .img-style {
    max-width: unset;
    flex: 25%;
}
.feature-post-item.style-list.v2 .title,
.feature-post-item.style-list.v3 .title {
    margin-bottom: 16px;
}
.feature-post-item.style-list.v2 .content,
.feature-post-item.style-list.v3 .content {
    flex: 20%;
}
.feature-post-item.style-list.v2 .meta-feature,
.feature-post-item.style-list.v3 .meta-feature {
    margin-bottom: 12px;
}
@media (min-width: 1200px) {
    .feature-post-item.style-list.v2,
    .feature-post-item.style-list.v3 {
        gap: 32px;
    }
    .feature-post-item.style-list.v2 .img-style,
    .feature-post-item.style-list.v3 .img-style {
        flex: 14.01%;
    }
    .feature-post-item.style-list.v2 .content,
    .feature-post-item.style-list.v3 .content {
        flex: 20%;
    }
}
@media (max-width: 575px) {
    .feature-post-item.style-list.v2 .meta-feature,
    .feature-post-item.style-list.v2 .title,
    .feature-post-item.style-list.v3 .meta-feature,
    .feature-post-item.style-list.v3 .title {
        margin-bottom: 6px;
    }
}
.feature-post-item.style-list.v3 .content {
    flex: 25%;
}
@media (max-width: 767px) {
    .feature-post-item.style-list {
        gap: 12px;
    }
    .feature-post-item.style-list:not(.v2, .v3, .v4) {
        flex-direction: column;
    }
    .feature-post-item.style-list .heading {
        margin-bottom: 9px;
    }
    .feature-post-item.style-list .title {
        margin-bottom: 16px;
    }
    .feature-post-item.style-list .meta-feature {
        margin-bottom: 11px;
    }
}
@media (max-width: 575px) {
    .feature-post-item.style-list .tag.categories {
        left: 15px;
        top: 15px;
    }
    .feature-post-item.style-list .tag.time {
        display: none;
    }
}
.feature-post-item.style-has-number .content {
    display: flex;
    gap: 12px;
}
.feature-post-item.style-has-number .number {
    flex-shrink: 0;
    display: block;
    height: 80px;
    width: 80px;
    background-color: var(--Surface);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}
@media (min-width: 1200px) {
    .feature-post-item.style-has-number .content {
        gap: 28px;
    }
}
.feature-post-item.style-line .wrap-meta {
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid var(--Line);
    row-gap: 12px;
}
.feature-post-item.style-line .img-style {
    border-radius: 8px;
}
.feature-post-item.style-line .img-style img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.feature-post-item.style-line .tag {
    height: 24px;
}
.feature-post-item.style-line .tag.categories {
    position: unset;
}
.feature-post-item.style-line.v2,
.feature-post-item.style-line.v3 {
    display: flex;
    gap: 24px;
}
.feature-post-item.style-line.v2 .img-style,
.feature-post-item.style-line.v3 .img-style {
    flex: 17.7%;
    margin-bottom: 0;
}
.feature-post-item.style-line.v2 .tag.categories,
.feature-post-item.style-line.v3 .tag.categories {
    height: 24px;
}
.feature-post-item.style-line.v2 .wrap-meta,
.feature-post-item.style-line.v3 .wrap-meta {
    padding-top: 16px;
    margin-top: 0;
}
.feature-post-item.style-line.v2 .content,
.feature-post-item.style-line.v3 .content {
    flex: 20%;
}
.feature-post-item.style-line.v2 .tag,
.feature-post-item.style-line.v3 .tag {
    height: 24px;
    padding: 0 8px;
}
.feature-post-item.style-line.v2 .tag.time,
.feature-post-item.style-line.v3 .tag.time {
    height: 32px;
    padding: 0 12px;
}
.feature-post-item.style-line.v2 .content,
.feature-post-item.style-line.v3 .content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.feature-post-item.style-line.v2 .meta-feature,
.feature-post-item.style-line.v3 .meta-feature {
    gap: 4px 22px;
}
@media (min-width: 992px) {
    .feature-post-item.style-line.v2,
    .feature-post-item.style-line.v3 {
        gap: 34px;
    }
}
.feature-post-item.style-line.v3 {
    gap: 32px;
}
.feature-post-item.style-line.v3 .img-style {
    flex: 20%;
}
@media (max-width: 767px) {
    .feature-post-item.style-line.v3 {
        gap: 16px;
    }
}
.feature-post-item.style-line.v4 .wrap-meta {
    padding-top: 13px;
    margin-top: 13px;
}
.feature-post-item.style-line.v4 .tag {
    padding: 0 8px;
}
.feature-post-item.style-line.v4 .tag.categories {
    height: 24px;
}
.feature-post-item.style-line.v4 .tag.time {
    height: 32px;
    padding: 0 12px;
}
.feature-post-item.style-line.v4 .meta-feature {
    gap: 22px;
}
@media (min-width: 768px) {
    .feature-post-item.style-line .wrap-meta {
        padding-top: 24px;
        margin-top: 24px;
    }
    .feature-post-item.style-line .tag {
        height: 32px;
    }
    .feature-post-item.style-line .tag.categories {
        height: 40px;
    }
}
@media (min-width: 992px) {
    .feature-post-item.style-line .meta-feature {
        gap: 30px;
    }
    .feature-post-item.style-line .meta-feature li:not(:last-child)::after {
        right: -19px;
    }
}
.feature-post-item.style-position {
    border-radius: 12px;
    overflow: hidden;
}
.feature-post-item.style-position .img-style {
    margin-bottom: 0;
    background-color: #161616;
    border-radius: inherit;
}
.feature-post-item.style-position .img-style img {
    opacity: 0.8;
}
.feature-post-item.style-position .heading-title {
    padding: 40px;
}
.feature-post-item.style-position .content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 2;
}
.feature-post-item.style-position .tag {
    position: unset;
}
.feature-post-item.style-position .tag.categories {
    height: 40px;
}
.feature-post-item.style-position .wrap-meta {
    padding: 8px 12px;
    background: rgba(22, 22, 22, 0.1019607843);
    border-top: 1px solid rgba(255, 255, 255, 0.1019607843);
    backdrop-filter: blur(4px);
    row-gap: 12px;
}
@media (min-width: 768px) {
    .feature-post-item.style-position .meta-feature {
        gap: 30px;
    }
    .feature-post-item.style-position .meta-feature li:not(:last-child)::after {
        right: -19px;
    }
}
@media (max-width: 767px) {
    .feature-post-item.style-position .heading-title {
        padding: 24px 15px;
    }
}
.feature-post-item.style-position.v2 .img-style {
    border-radius: 12px;
}
.feature-post-item.style-position.v2 .heading-title {
    padding: 20px;
}
.feature-post-item.style-position.v2 .tag {
    height: 24px;
    padding: 0 8px;
}
.feature-post-item.style-border {
    padding: 27px;
    border: 1px solid var(--Line);
    border-radius: 16px;
    position: relative;
}
.feature-post-item.style-border:hover {
    border-color: var(--On-surface);
}
@media (max-width: 1440px) {
    .feature-post-item.style-border .tag.categories {
        top: unset;
        bottom: 20px;
    }
}
@media (max-width: 1199px) {
    .feature-post-item.style-border {
        padding: 24px 15px;
    }
}
.feature-post-item .tf-video {
    position: absolute;
    z-index: 1;
    inset: 0;
}
.feature-post-item .tf-video .fn__video_youtube {
    height: 100%;
}
.feature-post-item .tf-video .mbYTP_wrapper iframe {
    height: 100% !important;
    margin-top: 0 !important;
}

.fn__video_youtube iframe {
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    max-width: unset !important;
    top: 50% !important;
    left: 50% !important;
    width: 200% !important;
    height: 200% !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none;
}

.meta-feature {
    gap: 4px 22px;
    flex-wrap: wrap;
}
.meta-feature li span {
    margin-right: 3px;
}
.meta-feature li:not(:last-child) {
    position: relative;
}
.meta-feature li:not(:last-child)::after {
    content: "/";
    position: absolute;
    right: -14px;
    color: var(--Line);
}
.meta-feature .tag {
    padding: 8px 16px;
    border-radius: 28px;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
}
.meta-feature .tag::after {
    display: none;
}
.meta-feature.interact li {
    display: flex;
    align-items: center;
    gap: 6px;
}
.meta-feature.interact i {
    font-size: 20px;
}

/*------------ testimonial ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.hover-image .img-style,
.hover-image .article-thumb {
    position: relative;
    overflow: hidden;
}
.hover-image .img-style:after,
.hover-image .article-thumb:after {
    content: "";
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
}
.hover-image .img-style img,
.hover-image .article-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 1s;
}
.hover-image:hover .img-style:after,
.hover-image:hover .article-thumb:after {
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}
.hover-image:hover .img-style img,
.hover-image:hover .article-thumb img {
    transform: scale(1.1);
}

.hover-image-translate .img-style {
    overflow: hidden;
}
.hover-image-translate .img-style img {
    transition: all 0.5s;
    transform: scale(1.1);
    pointer-events: none;
}
.hover-image-translate:hover .img-style img {
    transform: scale(1.1) translateX(4%);
}

.hover-image-rotate .img-style {
    overflow: hidden;
}
.hover-image-rotate .img-style img {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.hover-image-rotate:hover .img-style img {
    transform: scale(1.1) rotate(3deg);
}

.hover-underline-link {
    --underline-position-y: calc(100%);
    --underline-height: 2px;
    background-repeat: no-repeat;
    background-image: linear-gradient(90deg, currentColor 0, currentColor 100%);
    background-position: 100% var(--underline-position-y);
    background-size: 100% var(--underline-height);
}
.hover-underline-link:hover {
    animation: qode-inline-underline-initial-hover 0.8s
        cubic-bezier(0.57, 0.39, 0, 0.86) 1 forwards;
}
@keyframes qode-inline-underline-initial-hover {
    0% {
        background-position: 100% var(--underline-position-y);
        background-size: 100% var(--underline-height);
    }
    35% {
        background-position: 100% var(--underline-position-y);
        background-size: 0 var(--underline-height);
    }
    36% {
        background-position: 0 var(--underline-position-y);
        background-size: 0 var(--underline-height);
    }
    100% {
        background-position: 0 var(--underline-position-y);
        background-size: 100% var(--underline-height);
    }
}

.effec-icon .icon img,
.effec-icon .icon i,
.effec-icon .icon svg,
.effec-icon .tf-icon img,
.effec-icon .tf-icon i,
.effec-icon .tf-icon svg {
    transition: all 0.6s ease-in-out;
}
.effec-icon:hover .icon i,
.effec-icon:hover .icon img,
.effec-icon:hover .icon svg,
.effec-icon:hover .tf-icon i,
.effec-icon:hover .tf-icon img,
.effec-icon:hover .tf-icon svg {
    transform: rotateY(360deg);
}

.hover-line-text {
    display: inline;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    background-image: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(currentColor),
        color-stop(98%, currentColor)
    );
    background-image: linear-gradient(
        to bottom,
        currentColor 0%,
        currentColor 98%
    );
    background-size: 0 2px;
    background-repeat: no-repeat;
    background-position: left 100%;
}
.hover-line-text:hover {
    background-size: 100% 2px;
}

/*------------ map ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.map-box {
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 12px;
}

#map {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
}
#map .marker {
    cursor: pointer;
    position: relative;
}
#map .marker::after {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    content: "\e904";
    font-family: "icomoon";
    position: absolute;
    font-size: 28px;
    color: var(--On-surface);
    height: 44px;
    width: 44px;
    top: 50%;
    left: 50%;
    background-color: var(--White-light);
    transform: translate(-50%, -50%);
    font-weight: 500;
    z-index: -1;
    border-radius: 999px;
}
#map .marker::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: rgba(22, 22, 22, 0.1);
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    z-index: -1;
    border-radius: 50%;
}

.mapboxgl-ctrl-attrib a,
.mapboxgl-ctrl-attrib.mapboxgl-compact,
a.mapboxgl-ctrl-logo {
    display: none !important;
}

/*------------ widgets ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.mode-check {
    display: flex;
    align-items: center;
    gap: 9px;
}
.mode-check .label {
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
}
.mode-check .toggle {
    position: relative;
    width: 52px;
    height: 28px;
    background-color: var(--White);
    border: 2px solid var(--On-surface);
    border-radius: 40px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.mode-check .dark {
    color: var(--Secondary2);
}
.mode-check .light {
    color: var(--On-surface);
}
.mode-check .toggle-button {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background-color: var(--On-surface);
    border-radius: 50%;
    transition: transform 0.3s ease;
}
.mode-check .toggle.active {
    background-color: #fff;
}
.mode-check .toggle.active .toggle-button {
    transform: translateX(23px);
}
@media (max-width: 767px) {
    .mode-check {
        gap: 4px;
    }
    .mode-check .toggle {
        width: 42px;
        height: 23px;
    }
    .mode-check .toggle-button {
        height: 15px;
        width: 15px;
    }
    .mode-check .toggle.active .toggle-button {
        transform: translateX(18px);
    }
}

.sidebar {
    margin-top: 40px;
}
.sidebar__title {
    margin-bottom: 20px;
}
.sidebar__item:not(:last-child) {
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--Line);
}
.sidebar .box-author.style-1 {
    gap: 0;
}
.sidebar .box-author.style-1 .avatar {
    margin-bottom: 28px;
}
@media (max-width: 767px) {
    .sidebar .box-author.style-1 .avatar {
        margin-bottom: 20px;
    }
}
.sidebar .box-author.style-1 .info {
    margin-top: 32px;
    margin-bottom: 24px;
}
@media (max-width: 767px) {
    .sidebar .box-author.style-1 .info {
        margin-top: 20px;
        margin-bottom: 20p;
    }
}
.sidebar .form-search {
    margin-bottom: 32px;
}
.sidebar .sidebar-categories .item:not(:last-child) {
    padding-bottom: 12px;
    border-bottom: 1px solid var(--Line);
    margin-bottom: 12px;
}
.sidebar .sidebar-categories .item a {
    position: relative;
}
.sidebar .sidebar-categories .item a::before {
    content: "\e929";
    font-family: "icomoon";
    font-size: 16px;
    vertical-align: middle;
    margin-right: 7px;
}
.sidebar .sidebar-categories .item .number {
    width: 32px;
    height: 32px;
    display: block;
    background-color: var(--White);
    border: 1px solid var(--Line);
    border-radius: 50%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sidebar .feature-post-item:not(:last-child) {
    padding-bottom: 24px !important;
    border-bottom: 1px solid var(--Line);
    margin-bottom: 24px !important;
}
.sidebar .tag a {
    padding: 4px 15px;
    border: 1px solid var(--Line);
    color: var(--Secondary);
    border-radius: 4px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.sidebar .tag:hover a {
    border-color: var(--On-surface);
    color: var(--On-surface);
}
@media (min-width: 992px) {
    .sidebar {
        margin-top: 0;
        max-width: 398px;
        padding-left: 28px;
        border-left: 1px solid var(--Line);
        height: 100%;
        margin-left: auto;
    }
}

.wrap-tag-categories {
    margin-bottom: 24px;
}
.wrap-tag-categories::after {
    content: "";
    position: absolute;
    width: 200px;
    height: 50px;
    right: 0;
    top: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
    pointer-events: none;
}
.wrap-tag-categories .swiper-slide {
    width: auto !important;
}
.wrap-tag-categories .tag {
    padding: 6px 18px;
    border: 2px solid var(--Line);
    border-radius: 8px;
    text-wrap: nowrap;
}
.wrap-tag-categories .tag:hover {
    border-color: var(--On-surface);
}
.wrap-tag-categories .sw-button {
    position: absolute;
    z-index: 4;
    top: 0;
}
.wrap-tag-categories .sw-button.nav-next-layout {
    right: 0;
}
.wrap-tag-categories .sw-button.swiper-button-disabled {
    display: none;
}
@media (min-width: 768px) {
    .wrap-tag-categories {
        margin-bottom: 60px;
    }
}
@media (max-width: 767px) {
    .wrap-tag-categories .tag {
        padding-top: 3px;
        padding-bottom: 3px;
    }
}
.wrap-tag-categories.style-1 .tag {
    padding: 8px 12px;
    border-radius: 100px;
}
.wrap-tag-categories.style-1 .sw-button {
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--White-light);
    color: var(--On-surface);
}
@media (min-width: 768px) {
    .wrap-tag-categories.style-1 .tag {
        padding: 14px 22px;
        border-radius: 100px;
    }
}

.share-bar .social-item {
    max-width: 150px;
    height: 50px;
    border-radius: 100px;
    border: 2px solid var(--Line);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.share-bar .social-item i {
    font-size: 24px;
}
.share-bar .social-item:hover {
    border-color: var(--On-surface);
}
.share-bar.style-1 .social-item {
    max-width: 159px;
    height: 50px;
    padding-left: 20px;
}

.box-author {
    display: flex;
    align-items: center;
    gap: 40px;
}
.box-author .info {
    flex-shrink: 0;
}
.box-author .avatar {
    width: 100px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
}
.box-author .social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}
.box-author .social i {
    font-size: 28px;
}
@media (min-width: 768px) {
    .box-author .social {
        gap: 16px 20px;
    }
}
@media (max-width: 767px) {
    .box-author:not(.box-author.style-1) {
        flex-direction: column;
        align-items: start;
        gap: 16px;
    }
}
.box-author.style-1 {
    flex-direction: column;
    gap: 24px;
}
.box-author.style-1 .avatar {
    width: 200px;
    height: 200px;
}
.box-author.style-1 .social {
    justify-content: center;
}
.box-author.style-1 .social i {
    font-size: 28px;
}
@media (min-width: 768px) {
    .box-author.style-1 .social i {
        font-size: 36px;
    }
}
@media (max-width: 767px) {
    .box-author.style-1 .avatar {
        width: 150px;
        height: 150px;
    }
}
.box-author.style-1.v2 {
    padding: 36px 30px;
    gap: 0;
    border-radius: 16px;
    border: 1px solid var(--Line);
}
.box-author.style-1.v2 .heading-title,
.box-author.style-1.v2 .avatar,
.box-author.style-1.v2 .info,
.box-author.style-1.v2 .social {
    margin-bottom: 20px;
}
@media (min-width: 768px) {
    .box-author.style-1.v2 .heading-title {
        margin-bottom: 44px;
    }
    .box-author.style-1.v2 .avatar {
        margin-bottom: 43px;
    }
    .box-author.style-1.v2 .info {
        margin-bottom: 24px;
    }
    .box-author.style-1.v2 .social {
        margin-bottom: 44px;
    }
}

.tf-article-navigation {
    padding: 28px;
    display: flex;
    justify-content: space-between;
    border: 1px solid var(--Line);
    border-radius: 12px;
    position: relative;
    gap: 40px;
}
.tf-article-navigation::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    top: 0;
    background-color: var(--Line);
}
.tf-article-navigation .item {
    max-width: 354px;
}
.tf-article-navigation .item.next {
    text-align: end;
}
@media (max-width: 575px) {
    .tf-article-navigation {
        padding: 24px 15px;
    }
}
.tf-article-navigation.style-1 {
    border-radius: unset;
    border: unset;
    padding: 24px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.tf-article-navigation.style-1::after {
    display: none;
}

.quote {
    padding: 40px 15px;
    background-color: var(--Surface);
    border-radius: 16px;
    margin: 28px 0;
}
.quote .divider {
    max-width: 120px;
    height: 6px;
    border-radius: 20px;
    background-color: var(--On-surface);
    display: block;
    margin-bottom: 24px;
}
@media (min-width: 768px) {
    .quote {
        margin: 40px 0;
        padding: 48px 66px;
    }
}

.reply-comment .reply-comment-item {
    display: flex;
    gap: 20px;
}
.reply-comment .reply-comment-item .avatar {
    flex-shrink: 0;
    height: 60px;
    width: 60px;
}
.reply-comment .reply-comment-item .content {
    width: 100%;
}
.reply-comment .reply-comment-item .name {
    display: flex;
    align-items: center;
    gap: 12px;
}
.reply-comment .reply-comment-item .name i {
    color: var(--Primary);
    font-size: 20px;
}
.reply-comment .reply-comment-item.style-rep {
    padding-left: 80px;
    margin-top: 20px;
}
.reply-comment .reply-comment-item.style-rep .content {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--Line);
}
.reply-comment .reply-comment-wrap:not(:last-child) {
    margin-bottom: 20px;
}
.reply-comment
    .reply-comment-wrap:not(:last-child)
    .reply-comment-item
    .content {
    padding-bottom: 18px;
    border-bottom: 1px solid var(--Line);
}

.box-about.style-1 {
    gap: 60px;
    justify-content: space-between;
}
.box-about.style-1 .title {
    max-width: 160px;
    width: 100%;
}
.box-about.style-1 .list {
    gap: 20px;
}
@media (min-width: 1200px) {
    .box-about .tf-grid-layout {
        gap: 40px 80px;
    }
}

.hero-banner {
    position: relative;
    overflow: hidden;
}
.hero-banner .tag {
    height: 24px;
    padding: 0 12px;
    border-radius: 28px;
    background-color: rgba(0, 0, 0, 0.2);
    font-weight: 700;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-transform: uppercase;
    z-index: 4;
}
.hero-banner .tag i {
    font-size: 16px;
}
.hero-banner .content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px 15px 40px;
}
.hero-banner .content__body {
    max-width: 780px;
}
.hero-banner .img-thumbs {
    position: relative;
}
.hero-banner .img-thumbs::after {
    position: absolute;
    content: "";
    background: linear-gradient(
        180deg,
        rgba(22, 22, 22, 0) 0%,
        rgba(22, 22, 22, 0.7) 66.1%,
        #161616 100%
    );
    inset: 0;
    opacity: 0.6;
}
.hero-banner .img-thumbs img {
    min-height: 480px;
    object-fit: cover;
}
.hero-banner .wrap-meta {
    flex-wrap: wrap;
    gap: 4px 12px;
}
@media (min-width: 768px) {
    .hero-banner .tag {
        height: 32px;
        padding: 0 16px;
    }
    .hero-banner .content {
        padding: 40px;
    }
}
.hero-banner.style-default {
    border-radius: 16px;
}
.hero-banner.style-default .meta-feature {
    gap: 22px;
}
.hero-banner.style-default .meta-feature li:not(:last-child)::after {
    color: var(--Line-dark);
    right: -15px;
}
.hero-banner.style-default.v2 {
    height: 100%;
}
.hero-banner.style-default.v2 .content {
    justify-content: end;
}
.hero-banner.style-default.v2 .content__top {
    position: absolute;
    left: 20px;
    right: 20px;
    top: 20px;
}
@media (min-width: 768px) {
    .hero-banner.style-default .tag {
        height: 40px;
        padding: 0 16px;
        gap: 8px;
    }
    .hero-banner.style-default .tag i {
        font-size: 24px;
    }
}
.hero-banner.style-1 {
    border-radius: 12px;
}
.hero-banner.style-1 .img-thumbs::after {
    background: linear-gradient(
        180deg,
        rgba(22, 22, 22, 0.8) 0%,
        rgba(22, 22, 22, 0.4) 100%
    );
}
.hero-banner.style-1 .img-thumbs img {
    min-height: 600px;
}
.hero-banner.style-1 .content {
    flex-direction: row;
}
.hero-banner.style-1 .tag.categories {
    height: 40px;
}
.hero-banner.style-1 .tag.time {
    padding: 0 12px;
    text-wrap: nowrap;
}
.hero-banner.style-1 .content__body {
    max-width: 840px;
}
.hero-banner.style-1 .wrap-feature {
    padding: 14px 0;
    display: grid;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4;
    background: rgba(22, 22, 22, 0.1019607843);
    border-top: 1px solid rgba(255, 255, 255, 0.1019607843);
}
@media (min-width: 992px) {
    .hero-banner.style-1 .wrap-feature {
        padding: 0;
        grid-template-columns: repeat(3, 1fr);
    }
    .hero-banner.style-1 .wrap .meta-feature {
        gap: 33px;
    }
    .hero-banner.style-1 .wrap .meta-feature li:not(:last-child)::after {
        right: -20px;
    }
}
@media (max-width: 767px) {
    .hero-banner.style-1 .tag.categories {
        height: 24px;
    }
    .hero-banner.style-1 .tag.time {
        display: none;
    }
}
.hero-banner .item {
    display: flex;
    gap: 20px;
    align-items: center;
    padding: 7px 15px;
}
.hero-banner .item .img-style {
    max-width: 70px;
    border-radius: 4px;
}
.hero-banner .item .tag {
    height: 24px !important;
    padding: 0 8px;
    font-size: 12px;
}
@media (min-width: 992px) {
    .hero-banner .item:not(:last-child) {
        border-right: 1px solid rgba(255, 255, 255, 0.1019607843);
    }
}
@media (min-width: 992px) {
    .hero-banner .item {
        padding: 20px;
    }
    .hero-banner .item .img-style {
        max-width: 120px;
        width: 100%;
    }
}

.newsletter-item {
    padding: 32px;
    background-color: var(--Surface);
    border-radius: 12px;
}
.newsletter-item .box-fieldset-item a {
    text-decoration: underline;
}
@media (max-width: 767px) {
    .newsletter-item {
        padding: 24px 15px;
    }
}
.newsletter-item.style-1 {
    display: flex;
    padding: 40px;
    align-items: center;
}
.newsletter-item.style-1 .title,
.newsletter-item.style-1 .form {
    flex: 15%;
}
@media (min-width: 992px) {
    .newsletter-item.style-1 .description {
        flex: 20%;
        padding: 0 30px;
    }
}
@media (min-width: 1200px) {
    .newsletter-item.style-1 .description {
        padding: 0 72px;
    }
}
@media (max-width: 991px) {
    .newsletter-item.style-1 {
        flex-direction: column;
        gap: 20px;
    }
}
@media (max-width: 767px) {
    .newsletter-item.style-1 {
        padding: 40px 15px;
    }
}

.section-cta .tf-btn {
    margin-top: 24px;
}
@media (min-width: 768px) {
    .section-cta .tf-btn {
        margin-top: 40px;
    }
}

.categoires-item {
    padding: 16px 15px;
    border: 2px solid var(--Line);
    border-radius: 12px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.categoires-item .img-style {
    border-radius: 8px;
    width: 100%;
}
.categoires-item .img-style img {
    width: 100%;
    object-fit: cover;
}
.categoires-item:hover {
    border-color: var(--On-surface);
}

.ins-item {
    background-color: var(--Surface);
    border-radius: 12px;
    padding: 15px;
}
.ins-item .icon {
    display: block;
    margin-bottom: 18px;
    font-size: 48px;
    color: var(--On-surface);
}
.ins-item .title {
    margin-bottom: 35px;
}
@media (min-width: 768px) {
    .ins-item {
        padding: 24px;
    }
}
@media (min-width: 1200px) {
    .ins-item {
        padding: 32px;
    }
}
@media (max-width: 767px) {
    .ins-item .title {
        margin-bottom: 12px;
    }
    .ins-item .icon {
        margin-bottom: 14px;
        font-size: 38px;
    }
}
.ins-item.style-1 .icon {
    margin-bottom: 22px;
}
.ins-item.style-1 .title {
    margin-bottom: 45px;
}
@media (min-width: 1441px) {
    .ins-item.style-1 {
        padding: 48px;
    }
}

.left-bar {
    transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
    background-color: var(--White-light);
    max-width: 330px;
    width: 100%;
    position: absolute;
    bottom: 0;
    top: 0;
    border-right: 1px solid var(--Line);
}
.left-bar .canvas-wrapper {
    height: 100vh;
}
.left-bar .box-author {
    gap: 0;
    margin-bottom: 40px;
}
.left-bar .box-author .site-logo {
    margin-bottom: 30px;
}
.left-bar .box-author .avatar,
.left-bar .box-author .info {
    margin-bottom: 24px;
}
@media (min-width: 992px) {
    .left-bar .box-author {
        gap: 0;
    }
    .left-bar .box-author .site-logo {
        margin-bottom: 40px;
    }
    .left-bar .box-author .avatar,
    .left-bar .box-author .info {
        margin-bottom: 28px;
    }
    .left-bar .box-author .social i {
        font-size: 36px;
    }
    .left-bar .canvas-wrapper {
        position: sticky;
        top: 0;
        padding-top: 32px;
    }
    .left-bar #menu-mobile-menu {
        height: 348px;
        overflow-y: auto;
    }
    .left-bar #menu-mobile-menu::-webkit-scrollbar {
        width: 3px;
        background-color: var(--Mono-gray-2);
    }
    .left-bar #menu-mobile-menu::-webkit-scrollbar-thumb {
        background: var(--Black);
        border-radius: 999px;
    }
}
@media (min-width: 1441px) {
    .left-bar {
        max-width: 389px;
    }
}
.left-bar.show {
    transform: none !important;
}

.media-list-item {
    gap: 20px;
    padding: 24px 15px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
}
.media-list-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: var(--On-surface);
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    border-radius: inherit;
}
.media-list-item .content {
    gap: 25px;
}
.media-list-item .heading-title {
    width: 67.68%;
    flex-grow: 1;
    position: relative;
}
.media-list-item .number,
.media-list-item .title {
    position: relative;
    z-index: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.media-list-item .image {
    position: absolute;
    left: 38.6%;
    top: 49%;
    opacity: 0;
    transform: rotate(4deg) scale(0.8) translateY(calc(-50% + 14px));
    transition:
        opacity 0.35s,
        transform 0.5s ease-out;
    pointer-events: none;
    overflow: hidden;
    border-radius: 8px;
}
.media-list-item .image img {
    transform: rotate(0) scale(1.14);
    transition: transform 0.3s ease-out;
}
@media (max-width: 767px) {
    .media-list-item .image {
        display: none;
    }
    .media-list-item .heading-title {
        width: 40%;
        flex-grow: 1;
        position: relative;
    }
}
@media (min-width: 768px) {
    .media-list-item {
        padding: 41px 40px 37px;
    }
}
.media-list-item:hover::after {
    height: 100%;
}
.media-list-item:hover .title,
.media-list-item:hover .number {
    color: var(--White-light);
}
.media-list-item:hover .image {
    z-index: 2;
    transform: rotate(0) scale(1) translateY(-50%);
    opacity: 1;
}
.media-list-item:hover .image img {
    transform: rotate(0) scale(1.01);
}

.show-sidebar {
    position: fixed;
    top: 35%;
    right: 0;
    justify-content: center;
    width: 37px;
    aspect-ratio: 1;
    border-radius: 12px 0px 0px 12px;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(100px);
    font-size: 18px;
    box-shadow: 0 0 3px var(--On-surface);
    color: var(--Black);
    cursor: pointer;
    z-index: 3;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 988;
}
.show-sidebar .icon {
    position: relative;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.show-sidebar .bars {
    width: 74%;
    height: 2px;
    background-color: var(--On-surface);
    border-radius: 4px;
}
.show-sidebar #bar1,
.show-sidebar #bar3 {
    width: 43%;
}
@media (max-width: 1199px) {
    .show-sidebar {
        display: flex;
    }
}

.team-item {
    position: relative;
    overflow: hidden;
}
.team-item .img-style {
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 24px;
    width: 100%;
}
.team-item .img-style img {
    width: 100%;
    object-fit: cover;
}
.team-item .name {
    margin-bottom: 4px;
}
.team-item .name a {
    position: relative;
}
.team-item .name a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
    background-color: var(--On-surface);
    bottom: 3px;
    left: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.team-item .tf-social {
    display: flex;
    position: absolute;
    flex-direction: column;
    padding: 8px;
    width: max-content;
    top: 12px;
    right: -41%;
    background-color: var(--White);
    border-radius: 12px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    z-index: 4;
}
.team-item .tf-social li {
    font-size: 20px;
}
.team-item .tf-social li a {
    color: var(--Primary);
    height: 36px;
    width: 36px;
    padding: 8px;
    color: #161616;
}
.team-item .tf-social li a:hover {
    color: var(--White);
    background-color: var(--On-surface);
}
.team-item:hover .name a::after {
    width: 100%;
}
.team-item:hover h5 a::after {
    width: 100%;
}
.team-item:hover .tf-social {
    right: 12px;
}

.project-detail .thumb,
.project-detail .thumb-main {
    border-radius: 16px;
    overflow: hidden;
}
.project-detail .thumb-main {
    margin-bottom: 60px;
}
@media (max-width: 767px) {
    .project-detail .thumb-main {
        margin-bottom: 40px;
    }
}
.project-detail .heading-title .tag {
    display: inline-block;
    padding: 4px 8px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 28px;
}
.project-detail .meta {
    display: flex;
}
.project-detail .meta li {
    padding-right: 40px;
    margin-right: 40px;
}
@media (max-width: 767px) {
    .project-detail .meta li {
        padding-right: 10px;
        margin-right: 10px;
    }
}
.project-detail .passive ul {
    padding-left: 30px;
}
.project-detail .passive li {
    list-style: disc;
}
.project-detail .quote-project {
    padding-left: 40px;
    border-left: 1px solid var(--On-surface);
}
@media (max-width: 767px) {
    .project-detail .quote-project {
        padding-left: 20px;
    }
}
.project-detail .tags-list a {
    padding: 7px 12px;
    border-radius: 100px;
    border: 1px solid var(--Line);
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 16px;
    color: #474747;
}
.project-detail .tags-list a:hover {
    background: rgba(0, 0, 0, 0.2);
    border-color: rgba(0, 0, 0, 0.2);
    color: var(--White);
}
.project-detail .tags-list.style-2 a {
    color: var(--Text-secondary);
    border-radius: 100px;
}
.project-detail .tags-list.style-2 a:hover {
    background-color: var(--Secondary);
    border-color: var(--Secondary);
    color: var(--Primary);
}

/*------------ sections ---------------- */
/* ---------------------------------------------------------
    * Name:
    * Version: 1.0.0
    * Author: Themesflat
    * Author URI: http://themesflat.com

	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
.page-title .sw-single .sw-button {
    opacity: 0;
}
.page-title .sw-single:hover .sw-button {
    margin: 0 !important;
    opacity: 1;
}
.page-title .sw-button {
    position: absolute;
    z-index: 3;
    top: 50%;
    transform: translateY(-50%);
}
.page-title .sw-button.sw-single-prev {
    left: 15px;
    margin-left: -30px;
}
.page-title .sw-button.sw-single-next {
    right: 15px;
    margin-right: -30px;
}
.page-title .sw-single .sw-dots {
    position: absolute;
    bottom: 20px !important;
    z-index: 4;
}
@media (min-width: 992px) {
    .page-title .sw-button.sw-single-prev {
        left: 40px;
    }
    .page-title .sw-button.sw-single-next {
        right: 40px;
    }
}
.page-title.style-default {
    padding: 80px 0 60px;
}
.page-title.style-default .tag {
    background-color: var(--On-surface);
    border-radius: 28px;
    padding: 2px 12px;
}
@media (max-width: 767px) {
    .page-title.style-default {
        padding: 50px 0;
    }
}
.page-title.style-1 {
    padding-top: 80px;
    padding-bottom: 80px;
}
.page-title.style-1 .heading-title {
    margin-bottom: 80px;
}
.page-title.style-1 .thumbs {
    border-radius: 12px;
    overflow: hidden;
}
.page-title.homepage-1 {
    padding-top: 60px;
}
.page-title.homepage-1 .wrap-feature {
    margin-bottom: 18px;
}
@media (min-width: 992px) {
    .page-title.homepage-1 .swiper-slide {
        position: relative;
    }
    .page-title.homepage-1 .swiper-slide::after {
        position: absolute;
        content: "";
        width: 1px;
        height: 100%;
        background-color: var(--Line);
        top: 0;
        right: -30px;
    }
}
.page-title.homepage-2 {
    padding-top: 59px;
    padding-bottom: 80px;
}
.page-title.homepage-2 .wrap-tag-categories {
    margin-bottom: 40px;
}
.page-title.homepage-2 .sw-single {
    height: 100%;
}
.page-title.homepage-2 .img-thumbs {
    height: 100%;
}
.page-title.homepage-2 .img-thumbs img {
    height: 100%;
}
@media (max-width: 991px) {
    .page-title.homepage-2 .row {
        gap: 40px;
    }
}
@media (max-width: 767px) {
    .page-title.homepage-2 {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .page-title.homepage-2 .wrap-tag-categories {
        margin-bottom: 20px;
    }
}
@media (max-width: 767px) {
    .page-title.homepage-3 .sw-button {
        top: 44%;
    }
}

@media (max-width: 767px) {
    .heading-section {
        margin-bottom: 20px;
    }
}

.heading-post {
    padding: 79px 0 59px;
}
.heading-post .avatar {
    height: 40px;
    width: 40px;
}
.heading-post .content {
    margin-bottom: 60px;
}
.heading-post .thumbs-post {
    border-radius: 16px;
    overflow: hidden;
}
.heading-post .thumbs-post img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.heading-post .wrap-meta-feature {
    margin-bottom: 17px;
    gap: 16px;
    flex-wrap: wrap;
}
.heading-post .wrap-meta-feature .tag {
    border-radius: 28px;
    padding: 8px 16px;
    display: block;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
}
@media (min-width: 768px) {
    .heading-post .wrap-meta-feature .meta-feature {
        gap: 4px 38px;
    }
    .heading-post .wrap-meta-feature .meta-feature li span {
        margin-right: 3px;
    }
    .heading-post .wrap-meta-feature .meta-feature li:not(:last-child)::after {
        right: -23px;
    }
}
@media (max-width: 767px) {
    .heading-post {
        padding: 40px 0 40px;
    }
    .heading-post .content {
        margin-bottom: 40px;
    }
}
.heading-post.style-1 {
    padding-bottom: 60px;
}
.heading-post.style-1 .post-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: var(--Surface);
    border-radius: 16px;
    overflow: hidden;
}
.heading-post.style-1 .wrap-meta-feature {
    margin-bottom: 20px;
}
.heading-post.style-1 .thumbs-post {
    border-radius: unset;
}
.heading-post.style-1 .content {
    padding: 30px 15px;
    margin-bottom: 0;
}
.heading-post.style-1 .tag {
    padding: 8px 18px;
}
@media (min-width: 768px) {
    .heading-post.style-1 .content {
        padding: 50px 15px;
    }
}
@media (min-width: 1441px) {
    .heading-post.style-1 .content {
        padding: 175px 100px;
    }
}
@media (max-width: 767px) {
    .heading-post.style-1 .post-inner {
        grid-template-columns: 1fr;
    }
}

.list-features-post .feature-post-item:not(:last-child) {
    padding-bottom: 40px;
    border-bottom: 1px solid var(--Line);
    margin-bottom: 40px;
}

.single-post .share-bar {
    max-width: 150px;
    margin-left: auto;
}
.single-post .img-thumbs {
    margin: 28px 0;
    border-radius: 12px;
    overflow: hidden;
}
.single-post .wrap-tag {
    margin-top: 40px;
    margin-bottom: 40px;
}
.single-post .wrap-tag .tag {
    border-radius: 4px;
    border: 1px solid var(--Line);
    padding: 5px 16px;
}
.single-post .wrap-tag .tag:hover {
    border-color: var(--On-surface);
    color: var(--On-surface);
}
.single-post .box-author,
.single-post .tf-article-navigation {
    margin-bottom: 40px;
}
.single-post .reply-comment {
    margin-bottom: 40px;
}
@media (min-width: 768px) {
    .single-post .img-thumbs {
        margin: 40px 0;
    }
    .single-post .wrap-tag {
        margin-bottom: 60px;
    }
    .single-post .box-author {
        margin-bottom: 58px;
    }
    .single-post .tf-article-navigation {
        margin-bottom: 60px;
    }
}
@media (min-width: 1200px) {
    .single-post .share-bar {
        margin-right: 50px;
    }
}
.single-post.style-1 .content-inner {
    display: flex;
}
.single-post.style-1 .share-bar {
    margin-right: 0;
    max-width: 181px;
}
.single-post.style-1 .share-bar .social-item {
    max-width: 159px;
}
.single-post.style-1 .wrap-post-details {
    flex: 54.2%;
}
.single-post.style-1 .sidebar {
    max-width: unset;
    flex: 20%;
}
.single-post.style-1 .sidebar .sidebar__item.about .sidebar__title {
    margin-bottom: 32px;
}
.single-post.style-1 .sidebar .sidebar__item.about:not(:last-child) {
    padding-bottom: 29px;
    margin-bottom: 29px;
}
.single-post.style-1 .sidebar .sidebar__item:not(:last-child) {
    padding-bottom: 31px;
    margin-bottom: 29px;
}
.single-post.style-1 .box-author {
    margin: 0;
}
@media (min-width: 768px) {
    .single-post.style-1 .wrap-tag {
        margin-bottom: 58px;
    }
}
@media (min-width: 992px) {
    .single-post.style-1 .content-inner {
        border-left: 1px solid var(--Line);
    }
    .single-post.style-1 .wrap-post-details {
        padding: 0;
        padding-left: 58px;
    }
}
@media (min-width: 1200px) {
    .single-post.style-1 .wrap-post-details {
        padding: 0 58px;
    }
}
@media (min-width: 1441px) {
    .single-post.style-1 .sidebar {
        padding-right: 96px;
    }
}
@media (max-width: 1199px) {
    .single-post.style-1 .content-inner {
        flex-direction: column;
    }
}

.section-contact .map-box {
    margin-bottom: 80px;
}
@media (max-width: 991px) {
    .section-contact .row {
        gap: 40px;
    }
}

.section-editor-pick .feature-post-item:not(:last-child) {
    border-bottom: 1px solid var(--Line);
    margin-bottom: 15px;
    padding-bottom: 15px;
}
.section-editor-pick .wrap {
    gap: 40px;
}
@media (min-width: 992px) {
    .section-editor-pick .wrap {
        gap: 0;
        position: relative;
    }
    .section-editor-pick .wrap::after {
        position: absolute;
        content: "";
        width: 1px;
        height: 100%;
        left: 50%;
        transform: translateX(-50%);
        background-color: var(--Line);
        top: 0;
    }
}

@media (min-width: 992px) {
    .section-lastest-post-2 .row,
    .section-editor-pick-3 .row {
        position: relative;
    }
    .section-lastest-post-2 .row::after,
    .section-editor-pick-3 .row::after {
        position: absolute;
        content: "";
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        height: 100%;
        background-color: var(--Line);
    }
}

.section-lastest-post-2 .feature-post-item:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--Line);
}
@media (max-width: 767px) {
    .section-lastest-post-2 .row {
        gap: 30px;
    }
}

.section-editor-pick-3 .tf-grid-layout {
    position: relative;
}
@media (max-width: 991px) {
    .section-editor-pick-3 .row {
        row-gap: 40px;
    }
}
@media (max-width: 767px) {
    .section-editor-pick-3 .row {
        gap: 30px;
    }
}
@media (min-width: 576px) {
    .section-editor-pick-3 .tf-grid-layout {
        row-gap: 0;
    }
    .section-editor-pick-3 .tf-grid-layout::after {
        position: absolute;
        content: "";
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        height: 100%;
        background-color: var(--Line);
    }
    .section-editor-pick-3 .wrap-feature .feature-post-item:nth-child(1),
    .section-editor-pick-3 .wrap-feature .feature-post-item:nth-child(2) {
        padding-bottom: 23px;
        margin-bottom: 22px;
        border-bottom: 1px solid var(--Line);
    }
}

.section-highlight .feature-post-item:not(:last-child) {
    padding-bottom: 13px;
    margin-bottom: 13px;
    border-bottom: 1px solid var(--Line);
}
@media (min-width: 768px) {
    .section-highlight .feature-post-item:not(:last-child) {
        padding-bottom: 28px;
        margin-bottom: 28px;
    }
}
@media (min-width: 1200px) {
    .section-highlight .img-style img {
        height: 435px;
    }
}

.section-highlight-3 .row {
    row-gap: 40px;
}
.section-highlight-3 .feature-post-item:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--Line);
}
.section-highlight-3 .right .feature-post-item:not(:last-child) {
    padding-bottom: 27px;
    margin-bottom: 29px;
}
@media (min-width: 992px) {
    .section-highlight-3 .row {
        row-gap: 0;
    }
    .section-highlight-3 .right {
        padding-left: 15px;
        border-left: 1px solid var(--Line);
    }
}
@media (min-width: 1441px) {
    .section-highlight-3 .right {
        margin-left: 30px;
        padding-left: 28px;
    }
}

.section-highlight-2 .right {
    padding: 24px 15px;
    border: 1px solid var(--Line);
    border-radius: 16px;
}
.section-highlight-2 .right .feature-post-item:not(:last-child) {
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--Line);
}
.section-highlight-2 .left .feature-post-item {
    gap: 12px;
}
.section-highlight-2 .left .feature-post-item .title {
    margin-bottom: 12px;
}
.section-highlight-2 .left .feature-post-item:not(:last-child) {
    margin-bottom: 15px;
}
@media (min-width: 768px) {
    .section-highlight-2 .right {
        padding: 28px 27px 28px;
    }
    .section-highlight-2 .left .feature-post-item {
        gap: 30px;
    }
    .section-highlight-2 .left .feature-post-item .title {
        margin-bottom: 20px;
    }
    .section-highlight-2 .left .feature-post-item:not(:last-child) {
        margin-bottom: 30px;
    }
}
@media (min-width: 1200px) {
    .section-highlight-2 .left {
        margin-right: 30px;
    }
    .section-highlight-2 .left .feature-post-item {
        gap: 40px;
    }
}
@media (max-width: 1199px) {
    .section-highlight-2 .left {
        margin-bottom: 30px;
    }
}

@media (min-width: 992px) {
    .section-most-popular .swiper-slide {
        position: relative;
    }
    .section-most-popular .swiper-slide::after {
        position: absolute;
        content: "";
        width: 1px;
        height: 100%;
        background-color: var(--Line);
        top: 0;
        right: -21px;
    }
}

.section-most-popular-2 .tf-grid-layout {
    margin-top: 30px;
}
@media (max-width: 991px) {
    .section-most-popular-2 .row {
        gap: 30px;
    }
}
@media (max-width: 767px) {
    .section-most-popular-2 .tf-grid-layout {
        gap: 15px;
        margin-top: 15px;
    }
    .section-most-popular-2 .row {
        gap: 15px;
    }
}

@media (min-width: 992px) {
    .grid-features-post .tf-grid-layout {
        row-gap: 42px;
    }
}

.section-instagram .img-style {
    height: 100%;
}
.section-instagram .img-style img {
    height: 100%;
    object-fit: cover;
}
@media (max-width: 767px) {
    .section-instagram .tf-grid-layout {
        gap: 15px;
    }
}

.section-instagram-2 {
    padding-bottom: 77px;
}
.section-instagram-2 .newsletter-item {
    margin-top: 30px;
}
.section-instagram-2 .img-style {
    height: 100%;
}
.section-instagram-2 .img-style img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (min-width: 992px) {
    .section-instagram-2 .newsletter-item {
        padding: 60px 72px 46px 48px;
    }
    .section-instagram-2 .newsletter-item .title {
        margin-bottom: 38px;
    }
}

@media (min-width: 1200px) {
    .wrap-main-blog .content-inner {
        margin-left: 329px;
    }
}
@media (min-width: 1441px) {
    .wrap-main-blog .content-inner {
        margin-left: 389px;
    }
}
@media (max-width: 1199px) {
    .wrap-main-blog .left-bar {
        height: 100%;
        z-index: 9999;
        transform: translateX(-100%);
        position: fixed;
    }
    .wrap-main-blog .left-bar .categories-list {
        overscroll-behavior-y: contain;
        overflow-y: auto;
    }
    .wrap-main-blog .left-bar .categories-list a {
        width: 100%;
        padding: 10px 24px 10px;
    }
    .wrap-main-blog .left-bar .categories-list::-webkit-scrollbar {
        height: 3px;
        background-color: var(--Mono-gray-2);
    }
    .wrap-main-blog .left-bar .categories-list::-webkit-scrollbar-thumb {
        background: var(--Primary);
        border-radius: 999px;
    }
    .wrap-main-blog .left-bar .canvas-body {
        overscroll-behavior-y: contain;
        overflow-y: auto;
    }
}

.section-about .animationtext.clip .cd-words-wrapper::after {
    background-color: var(--On-surface);
    height: 40px;
    width: 4px;
    top: 5px;
}
.section-about .list-work {
    max-width: 364px;
}
.section-about .list-work li:not(:last-child) {
    border-bottom: 1px solid var(--Line);
    margin-bottom: 20px;
    padding-bottom: 20px;
}
@media (min-width: 768px) {
    .section-about .list-work {
        margin-left: auto;
    }
}
@media (max-width: 575px) {
    .section-about .row {
        gap: 20px;
    }
    .section-about .list-work li:not(:last-child) {
        margin-bottom: 13px;
        padding-bottom: 13px;
    }
}

.section-categories-2 .wrap-list {
    background-color: var(--Surface);
    border-radius: 16px;
    border: 1px solid var(--Line);
}
.section-categories-2 .media-list-item:hover {
    border-color: var(--Line);
}
.section-categories-2 .media-list-item:first-child {
    border-radius: 16px 16px 0 0;
}
.section-categories-2 .media-list-item:last-child {
    border-radius: 0 0 16px 16px;
}
.section-categories-2 .media-list-item:not(:last-child) {
    border-bottom: 1px solid var(--Line);
}

.section-project .menu-tab {
    margin-bottom: 60px;
}
@media (max-width: 767px) {
    .section-project .menu-tab {
        margin-bottom: 40px;
    }
}
.section-project .wrap-project {
    column-count: 1;
    column-gap: 30px;
}
@media (max-width: 575px) {
    .section-project .wrap-project {
        display: grid;
        gap: 30px;
    }
}
@media (min-width: 576px) {
    .section-project .wrap-project {
        column-count: 2;
    }
}
@media (min-width: 768px) {
    .section-project .wrap-project {
        column-count: 3;
    }
}
@media (min-width: 992px) {
    .section-project .wrap-project {
        column-count: 4;
        column-gap: 20px;
    }
}
@media (min-width: 576px) {
    .section-project .feature-post-item {
        margin-bottom: 30px;
    }
}

.section-project-2 .wrap-project {
    column-count: 1;
    column-gap: 30px;
}
@media (max-width: 575px) {
    .section-project-2 .wrap-project {
        display: grid;
        gap: 30px;
    }
}
@media (min-width: 576px) {
    .section-project-2 .wrap-project {
        column-count: 2;
    }
}
@media (min-width: 768px) {
    .section-project-2 .wrap-project {
        column-count: 3;
    }
}
@media (min-width: 992px) {
    .section-project-2 .wrap-project {
        column-count: 4;
    }
}
@media (min-width: 1441px) {
    .section-project-2 .wrap-project {
        column-count: 5;
        column-gap: 10px;
    }
}
@media (min-width: 1600px) {
    .section-project-2 .wrap-project {
        column-count: 6;
    }
}
.section-project-2 .menu-tab {
    margin-bottom: 60px;
}
@media (max-width: 767px) {
    .section-project-2 .menu-tab {
        margin-bottom: 40px;
    }
}
@media (min-width: 576px) {
    .section-project-2 .feature-post-item {
        margin-bottom: 30px;
    }
}
.section-project-2 .feature-post-item .content {
    padding: 14px;
}

@media (max-width: 767px) {
    .section-team .tf-grid-layout {
        column-gap: 15px;
    }
}

/*# sourceMappingURL=styles.css.map */

/* ===== Section Description (خارطة الأقسام التحريرية) ===== */
.section-description {
    border-top: 1px solid var(--line-color, #e5e5e5);
    border-bottom: 1px solid var(--line-color, #e5e5e5);
    padding: 32px 0;
}
.section-description-inner {
    max-width: 780px;
}
.section-description-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 12px;
}
.section-description-text {
    color: var(--on-surface-variant-color, #555);
    margin-bottom: 24px;
    line-height: 1.8;
}

.section-description-subsections {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.section-description-subsection {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: var(--surface2-color, #f7f7f7);
    border-radius: 20px;
    cursor: pointer;
    user-select: none;
}

.subsection-name {
    font-weight: 700;
    font-size: 0.95rem;
    pointer-events: none;
}

/* Tooltip */
.subsection-tip {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: calc(100% + 10px);
    right: 0;
    width: 260px;
    background: var(--on-surface-color, #1a1a1a);
    color: var(--surface-color, #fff);
    font-size: 0.85rem;
    line-height: 1.6;
    padding: 10px 14px;
    border-radius: 8px;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 100;
    text-align: right;
}
.subsection-tip::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 18px;
    border: 6px solid transparent;
    border-top-color: var(--on-surface-color, #1a1a1a);
}

/* Show on hover (desktop) */
.section-description-subsection:hover .subsection-tip,
.section-description-subsection.tip-open .subsection-tip {
    visibility: visible;
    opacity: 1;
}
