:root {
    --theme-color: #A00008;
    --body-bg: #ffffff;
    --body-color: #696969;
    --title-color: #16171A;
    --secondary-color: #F2EDEB;
    --smoke-color: #ECF0F8;
    --light-color: #f8f9fa;
    --black-color: #000000;
    --white-color: #ffffff;
    --yellow-color: #FFB303;
    --success-color: #28a745;
    --error-color: #dc3545;
    --border-color: #D8DDE1;
    --title-font: "Raleway", serif;
    --body-font: "DM Sans", serif;
    --icon-font: "Font Awesome 5 Pro";
    --main-container: 1320px;
    --container-gutters: 30px;
    --section-space: 120px;
    --section-space-mobile: 80px;
    --section-title-space: 60px;
    --ripple-ani-duration: 5s
}

html,
body {
    scroll-behavior: auto !important
}

body {
    font-family: var(--body-font);
    font-size: 16px;
    font-weight: 400;
    color: var(--body-color);
    background-color: var(--body-bg);
    line-height: 28px;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased
}

iframe {
    border: none;
    width: 100%
}

.slick-slide:focus,
button:focus,
a:focus,
a:active,
input,
input:hover,
input:focus,
input:active,
textarea,
textarea:hover,
textarea:focus,
textarea:active {
    outline: none
}

input:focus {
    outline: none;
    box-shadow: none
}

img:not([draggable]),
embed,
object,
video {
    max-width: 100%;
    height: auto
}

ul {
    list-style-type: disc
}

ol {
    list-style-type: decimal
}

table {
    margin: 0 0 1.5em;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid var(--border-color)
}

th {
    font-weight: 700;
    color: var(--title-color)
}

td,
th {
    border: 1px solid var(--border-color);
    padding: 9px 12px
}

a {
    color: var(--theme-color);
    text-decoration: none;
    outline: 0;
    transition: all ease .4s
}

a:hover {
    color: var(--title-color)
}

a:active,
a:focus,
a:hover,
a:visited {
    text-decoration: none;
    outline: 0
}

button {
    transition: all ease .4s
}

img {
    border: none;
    max-width: 100%
}

ins {
    text-decoration: none
}

pre {
    background: #f5f5f5;
    color: #666;
    font-size: 14px;
    margin: 20px 0;
    overflow: auto;
    padding: 20px;
    white-space: pre-wrap;
    word-wrap: break-word
}

span.ajax-loader:empty,
p:empty {
    display: none
}

p {
    margin: 0 0 18px 0;
    color: var(--body-color);
    line-height: 1.63
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
p a,
span a {
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit
}

.h1,
h1,
.h2,
h2,
.h3,
h3,
.h4,
h4,
.h5,
h5,
.h6,
h6 {
    font-family: var(--title-font);
    color: var(--title-color);
    text-transform: none;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 15px 0
}

.h1,
h1 {
    font-size: 48px
}

.h2,
h2 {
    font-size: 40px
}

.h3,
h3 {
    font-size: 36px
}

.h4,
h4 {
    font-size: 30px
}

.h5,
h5 {
    font-size: 24px
}

.h6,
h6 {
    font-size: 20px
}

@media(max-width: 1199px) {

    .h1,
    h1 {
        font-size: 40px
    }

    .h2,
    h2 {
        font-size: 36px
    }

    .h3,
    h3 {
        font-size: 30px
    }

    .h4,
    h4 {
        font-size: 24px
    }

    .h5,
    h5 {
        font-size: 20px
    }

    .h6,
    h6 {
        font-size: 16px
    }
}

@media(max-width: 767px) {

    .h1,
    h1 {
        font-size: 36px
    }

    .h2,
    h2 {
        font-size: 30px
    }

    .h3,
    h3 {
        font-size: 26px
    }

    .h4,
    h4 {
        font-size: 22px
    }

    .h5,
    h5 {
        font-size: 18px
    }

    .h6,
    h6 {
        font-size: 16px
    }
}

@media only screen and (min-width: 1300px) {

    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container {
        max-width: calc(var(--main-container) + var(--container-gutters));
        padding-left: calc(var(--container-gutters)/2);
        padding-right: calc(var(--container-gutters)/2)
    }
}

@media only screen and (max-width: 1600px) {
    .container-fluid.px-0 {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .container-fluid.px-0 .row {
        margin-left: -15px !important;
        margin-right: -15px !important
    }
}

@media(min-width: 1700px) {
    .container-style1 {
        overflow: hidden;
        width: calc(var(--main-container) + 18rem)
    }

    .container-style1 .slick-list {
        padding-left: 0 !important
    }
}

@media(min-width: 1199px) {
    .container-style2 {
        padding-left: 0;
        padding-right: 0;
        max-width: 100%
    }
}

@media(max-width: 1199px) {
    .container-style3 {
        padding-left: 0;
        padding-right: 0;
        max-width: 100%
    }
}

@media(min-width: 767px) {
    .row:not([class*=gx-]) {
        --bs-gutter-x: 30px
    }
}

.gy-gx {
    --bs-gutter-y: var(--bs-gutter-x)
}

.gy-30 {
    --bs-gutter-y: 30px
}

@media(min-width: 1500px) {
    .gx-100 {
        --bs-gutter-x: 100px
    }

    .gx-60 {
        --bs-gutter-x: 60px
    }

    .gx-25 {
        --bs-gutter-x: 25px
    }

    .gx-45 {
        --bs-gutter-x: 45px
    }

    .gx-40 {
        --bs-gutter-x: 40px
    }

    .gx-80 {
        --bs-gutter-x: 80px
    }

    .gx-85 {
        --bs-gutter-x: 85px
    }
}

select,
.form-control,
.form-select,
textarea,
input {
    height: 55px;
    padding: 0 45px 0 25px;
    border: none;
    color: var(--body-color);
    background-color: var(--secondary-color);
    border-radius: 9999px;
    border-radius: 0;
    font-size: 16px;
    width: 100%
}

select:focus,
.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus {
    outline: 0;
    box-shadow: none;
    background-color: var(--secondary-color)
}

select::-moz-placeholder,
.form-control::-moz-placeholder,
.form-select::-moz-placeholder,
textarea::-moz-placeholder,
input::-moz-placeholder {
    color: var(--body-color)
}

select::-moz-placeholder,
.form-control::-moz-placeholder,
.form-select::-moz-placeholder,
textarea::-moz-placeholder,
input::-moz-placeholder {
    color: var(--body-color)
}

select::placeholder,
.form-control::placeholder,
.form-select::placeholder,
textarea::placeholder,
input::placeholder {
    color: var(--body-color)
}

.form-select,
select {
    display: block;
    width: 100%;
    line-height: 1.5;
    vertical-align: middle;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
    background-position: right 26px center;
    background-repeat: no-repeat;
    background-size: 16px 12px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=number] {
    -moz-appearance: textfield
}

textarea.form-control,
textarea {
    min-height: 150px;
    padding-top: 16px;
    padding-bottom: 17px;
    border-radius: 0
}

input[type=checkbox] {
    visibility: hidden;
    opacity: 0;
    display: inline-block;
    vertical-align: middle;
    width: 0;
    height: 0;
    display: none
}

input[type=checkbox]:checked~label:before {
    content: "";
    color: var(--white-color);
    background-color: var(--theme-color);
    border-color: var(--theme-color)
}

input[type=checkbox]~label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    display: block
}

input[type=checkbox]~label:before {
    content: "";
    font-family: var(--icon-font);
    font-weight: 700;
    position: absolute;
    left: 0px;
    top: 3.5px;
    background-color: var(--body-bg);
    border: 1px solid var(--border-color);
    height: 18px;
    width: 18px;
    line-height: 18px;
    text-align: center;
    font-size: 12px
}

input[type=radio] {
    visibility: hidden;
    opacity: 0;
    display: inline-block;
    vertical-align: middle;
    width: 0;
    height: 0;
    display: none
}

input[type=radio]~label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    line-height: 1;
    display: inline-block;
    font-weight: 600;
    margin-bottom: 0
}

input[type=radio]~label::before {
    content: "";
    position: absolute;
    font-family: var(--icon-font);
    left: 0;
    top: -2px;
    width: 20px;
    height: 20px;
    padding-left: .5px;
    font-size: .4em;
    line-height: 18.95px;
    text-align: center;
    border: 1px solid var(--theme-color);
    border-radius: 100%;
    font-weight: 700;
    background: var(--body-bg);
    color: rgba(0, 0, 0, 0);
    transition: all .2s ease
}

input[type=radio]:checked~label::before {
    border-color: var(--theme-color);
    background-color: var(--theme-color);
    color: var(--white-color)
}

label {
    margin-bottom: .5em;
    margin-top: -0.3em;
    display: block;
    color: var(--title-color);
    font-family: var(--body-font);
    font-size: 16px
}

.form-group {
    margin-bottom: var(--bs-gutter-x);
    position: relative
}

.form-group>i {
    position: absolute;
    right: calc(var(--bs-gutter-x)/2 + 30px);
    top: 19px;
    font-size: 16px;
    color: #a0abb4
}

.form-group.has-label>i {
    top: 50px
}

textarea.is-invalid,
select.is-invalid,
input.is-invalid,
.was-validated input:invalid {
    border: 1px solid var(--error-color) !important;
    background-position: right calc(.375em + .8875rem) center;
    background-image: none
}

textarea.is-invalid:focus,
select.is-invalid:focus,
input.is-invalid:focus,
.was-validated input:invalid:focus {
    outline: 0;
    box-shadow: none
}

textarea.is-invalid {
    background-position: top calc(.375em + .5875rem) right calc(.375em + .8875rem)
}

.row.no-gutters>.form-group {
    margin-bottom: 0
}

.form-messages {
    display: none;
    margin: 0;
    padding: 10px 15px;
    margin-top: 15px;
    border-radius: 4px
}

.form-messages>pre:last-child {
    margin-bottom: 0
}

.form-messages>pre:first-of-type {
    margin-top: 0
}

.form-messages.success {
    background-color: var(--success-color);
    color: var(--white-color);
    display: block
}

.form-messages.error {
    background-color: var(--error-color);
    color: var(--white-color);
    display: block
}

.form-messages pre {
    padding: 0;
    background-color: rgba(0, 0, 0, 0);
    color: inherit
}

.row>.slick-list {
    padding-left: 0;
    padding-right: 0
}

.slick-track>[class*=col] {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x)/2);
    padding-left: calc(var(--bs-gutter-x)/2);
    margin-top: var(--bs-gutter-y)
}

.slick-track {
    min-width: 100%
}

.slick-slide img {
    display: inline-block
}

.slick-dots {
    list-style-type: none;
    padding: 0;
    margin: 10px 0 40px 0;
    line-height: 0;
    text-align: center;
    height: -moz-max-content;
    height: max-content;
    line-height: 0
}

.slick-dots li {
    display: inline-block;
    margin-right: 23px
}

.slick-dots li:last-child {
    margin-right: 0
}

.slick-dots button {
    position: relative;
    font-size: 0;
    padding: 0;
    background-color: var(--title-color);
    width: 12px;
    height: 12px;
    line-height: 0;
    border: none;
    transition: all ease .4s
}

.slick-dots button:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -15px 0 0 -15px;
    width: 30px;
    height: 30px;
    border: 2px solid var(--theme-color);
    transition: all ease .4s;
    opacity: 0;
    visibility: hidden
}

.slick-dots .slick-active button,
.slick-dots button:hover {
    background-color: var(--theme-color)
}

.slick-dots .slick-active button:before {
    opacity: 1;
    visibility: visible
}

.slick-arrow {
    display: inline-block;
    padding: 0;
    position: absolute;
    top: calc(50% - 30px);
    left: var(--pos-x, -80px);
    background-color: var(--title-color);
    color: var(--white-color);
    border: none;
    width: var(--icon-size, 60px);
    height: var(--icon-size, 60px);
    font-size: var(--icon-font-size, 22px);
    margin-top: calc(var(--icon-size, 60px)/-2);
    z-index: 2;
    border-radius: 0
}

.slick-arrow.default {
    position: relative;
    --pos-x: 0;
    margin-top: 0;
    margin-right: 10px
}

.slick-arrow.slick-next {
    right: var(--pos-x, -80px);
    left: auto;
    margin-right: 0
}

.slick-arrow:hover {
    background-color: var(--theme-color);
    color: var(--white-color);
    border-color: rgba(0, 0, 0, 0)
}

.slick-arrow.style2 {
    background-color: var(--white-color);
    color: var(--theme-color)
}

.slick-arrow.style2:hover {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.arrow-margin .slick-arrow {
    top: calc(50% - 30px)
}

.arrow-wrap .slick-arrow {
    opacity: 0;
    visibility: hidden
}

.arrow-wrap:hover .slick-arrow {
    opacity: 1;
    visibility: visible
}

@media(max-width: 1500px) {
    .slick-arrow {
        --arrow-horizontal: -20px
    }
}

@media(max-width: 1399px) {
    .slick-arrow {
        --arrow-horizontal: 40px
    }
}

@media(max-width: 991px) {
    .slick-arrow {
        --icon-size: 40px;
        margin-right: 40px
    }

    .slick-arrow.slick-next {
        margin-right: 0;
        margin-left: 40px
    }

    .slick-dots {
        margin: 8px 0 38px 0
    }
}

.vs-menu-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, .6);
    z-index: 999999;
    width: 0;
    width: 100%;
    height: 100%;
    transition: all ease .8s;
    opacity: 0;
    visibility: hidden
}

.vs-menu-wrapper .mobile-logo {
    padding-bottom: 0;
    display: block;
    text-align: center;
    background-color: var(--body-bg);
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 60px
}

.vs-menu-wrapper .mobile-logo svg {
    max-width: 185px
}

.vs-menu-wrapper .vs-menu-toggle {
    border: none;
    font-size: 22px;
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 0;
    line-height: 1;
    width: 33px;
    height: 33px;
    line-height: 34px;
    font-size: 18px;
    z-index: 1;
    color: var(--white-color);
    background-color: var(--theme-color);
    border-radius: 50%
}

.vs-menu-wrapper .vs-menu-toggle:hover {
    background-color: var(--secondary-color);
    color: var(--white-color)
}

.vs-menu-wrapper .vs-menu-area {
    width: 100%;
    max-width: 350px;
    background-color: var(--body-bg);
    border-right: 3px solid var(--theme-color);
    height: 100%;
    position: relative;
    left: -110%;
    opacity: 0;
    visibility: hidden;
    transition: all ease 1s;
    z-index: 1
}

.vs-menu-wrapper.vs-body-visible {
    opacity: 1;
    visibility: visible
}

.vs-menu-wrapper.vs-body-visible .vs-menu-area {
    left: 0;
    opacity: 1;
    visibility: visible
}

.vs-mobile-menu {
    overflow-y: scroll;
    max-height: calc(100vh - 200px);
    padding-bottom: 40px;
    margin-top: 33px;
    text-align: left
}

.vs-mobile-menu::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(242, 0, 58, .2);
    background-color: #000
}

.vs-mobile-menu::-webkit-scrollbar {
    width: 6px;
    background-color: #000
}

.vs-mobile-menu::-webkit-scrollbar-thumb {
    background-color: var(--theme-color)
}

.vs-mobile-menu ul {
    margin: 0;
    padding: 0 0
}

.vs-mobile-menu ul li {
    border-bottom: 1px solid var(--border-color);
    list-style-type: none
}

.vs-mobile-menu ul li li:first-child {
    border-top: 1px solid var(--border-color)
}

.vs-mobile-menu ul li a {
    display: block;
    position: relative;
    padding: 12px 0;
    line-height: 1;
    font-size: 16px;
    text-transform: capitalize;
    color: var(--title-color);
    font-weight: 700
}

.vs-mobile-menu ul li a:before {
    content: "";
    font-family: var(--icon-font);
    position: relative;
    left: 0;
    top: 0;
    margin-right: 10px;
    display: inline-block
}

.vs-mobile-menu ul li a:hover {
    color: var(--theme-color)
}

.vs-mobile-menu ul li.vs-active>a {
    color: var(--theme-color)
}

.vs-mobile-menu ul li.vs-active>a:before {
    transform: rotate(90deg)
}

.vs-mobile-menu ul li ul li {
    padding-left: 20px
}

.vs-mobile-menu ul li ul li:last-child {
    border-bottom: none
}

.vs-mobile-menu ul .vs-item-has-children>a .vs-mean-expand {
    position: absolute;
    right: 0;
    top: 50%;
    font-weight: 400;
    font-size: 12px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    margin-top: -12.5px;
    display: inline-block;
    text-align: center;
    background-color: var(--smoke-color);
    color: var(--title-color);
    box-shadow: 0 0 20px -8px rgba(242, 0, 58, .5);
    border-radius: 50%
}

.vs-mobile-menu ul .vs-item-has-children>a .vs-mean-expand:before {
    content: "";
    font-family: var(--icon-font)
}

.vs-mobile-menu ul .vs-item-has-children.vs-active>a .vs-mean-expand:before {
    content: ""
}

.vs-mobile-menu>ul {
    padding: 0 40px
}

.vs-mobile-menu>ul>li:last-child {
    border-bottom: none
}

.vs-menu-toggle {
    width: 50px;
    height: 50px;
    padding: 0;
    font-size: 24px;
    border: none;
    background-color: var(--theme-color);
    color: var(--white-color);
    display: inline-block;
    border-radius: 0
}

@media(max-width: 400px) {
    .vs-menu-wrapper .vs-menu-area {
        width: 100%;
        max-width: 270px
    }

    .vs-mobile-menu>ul {
        padding: 0 20px
    }
}

.preloader {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 999;
    background-color: var(--white-color)
}

.preloader .vs-btn {
    padding: 15px 20px;
    border-radius: 0;
    font-size: 14px
}

.preloader-inner {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center
}

.preloader-inner img {
    display: block;
    margin: 0 auto 10px auto
}

.loader {
    animation: loaderspin 1.5s infinite;
    height: 50px;
    width: 50px;
    display: block
}

.loader:before,
.loader:after {
    border-radius: 50%;
    content: "";
    display: block;
    height: 20px;
    width: 20px
}

.loader:before {
    animation: ball1 1.5s infinite;
    background-color: var(--title-color);
    box-shadow: 30px 0 0 var(--theme-color);
    margin-bottom: 10px
}

.loader:after {
    animation: ball2 1.5s infinite;
    background-color: var(--theme-color);
    box-shadow: 30px 0 0 var(--title-color)
}

@keyframes loaderspin {
    0% {
        transform: rotate(0deg) scale(0.8)
    }

    50% {
        transform: rotate(360deg) scale(1)
    }

    100% {
        transform: rotate(720deg) scale(0.8)
    }
}

@keyframes ball1 {
    0% {
        box-shadow: 30px 0 0 var(--theme-color)
    }

    50% {
        box-shadow: 0 0 0 var(--theme-color);
        margin-bottom: 0;
        transform: translate(15px, 15px)
    }

    100% {
        box-shadow: 30px 0 0 var(--theme-color);
        margin-bottom: 10px
    }
}

@keyframes ball2 {
    0% {
        box-shadow: 30px 0 0 var(--title-color)
    }

    50% {
        box-shadow: 0 0 0 var(--title-color);
        margin-top: -20px;
        transform: translate(15px, 15px)
    }

    100% {
        box-shadow: 30px 0 0 var(--title-color);
        margin-top: 0
    }
}

.vs-btn {
    position: relative;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    border: none;
    text-transform: uppercase;
    color: var(--white-color);
    background-color: var(--theme-color);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 20.5px 25px;
    border-radius: 0;
    z-index: 1
}

.vs-btn i {
    margin-left: 10px
}

.vs-btn::after,
.vs-btn::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    z-index: -1;
    margin: auto;
    background: var(--title-color);
    transition: all ease .5s;
    border-radius: inherit
}

.vs-btn:before {
    transform: rotateX(90deg)
}

.vs-btn:after {
    transform: rotateY(90deg)
}

.vs-btn:hover {
    color: var(--white-color)
}

.vs-btn:hover:before {
    transform: rotateX(0)
}

.vs-btn:hover:after {
    transform: rotateY(0)
}

.vs-btn.style2 {
    padding: 22px 42px
}

.vs-btn.style3 {
    padding: 23px 44px;
    background-color: var(--title-color)
}

.vs-btn.style3::after,
.vs-btn.style3::before {
    background-color: var(--theme-color)
}

.vs-btn.style4 {
    outline: 2px solid var(--white-color);
    color: var(--white-color);
    background-color: rgba(0, 0, 0, 0)
}

.vs-btn.style4:after,
.vs-btn.style4:before {
    background-color: var(--white-color)
}

.vs-btn.style4:hover {
    color: var(--title-color) !important
}

.vs-btn.hover-white:after,
.vs-btn.hover-white:before {
    background-color: var(--white-color)
}

.vs-btn.hover-white:hover {
    color: var(--title-color)
}

.arrow-btn {
    display: inline-block;
    position: relative;
    color: var(--title-color);
    font-size: 16px;
    text-transform: uppercase;
    vertical-align: middle;
    border: 2px solid var(--theme-color);
    font-weight: 700;
    border-radius: 9999px;
    line-height: 1;
    padding: 9.5px 21.5px
}

.arrow-btn i {
    position: absolute;
    right: -30px;
    top: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background-color: var(--theme-color);
    color: var(--white-color);
    text-align: center;
    font-size: 20px;
    border-radius: 50%;
    margin-top: -20px;
    transform: rotate(-45deg);
    transition: all ease .4s
}

.arrow-btn:hover {
    background-color: var(--theme-color);
    border-color: var(--theme-color);
    color: var(--white-color)
}

.arrow-btn:hover:hover i {
    background-color: var(--title-color)
}

.play-btn {
    display: inline-block;
    position: relative;
    z-index: 1
}

.play-btn>i {
    display: inline-block;
    width: var(--icon-size, 100px);
    height: var(--icon-size, 100px);
    line-height: var(--icon-size, 100px);
    text-align: center;
    background-color: var(--theme-color);
    color: var(--white-color);
    font-size: var(--icon-font-size, 1.5em);
    border-radius: 50%;
    z-index: 1;
    transition: all ease .4s
}

.play-btn:after,
.play-btn:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    border: 2px solid var(--theme-color);
    animation-duration: var(--ripple-ani-duration);
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-name: ripple;
    z-index: -1;
    border-radius: 50%;
    transition: all ease .4s
}

.play-btn:after {
    animation-delay: 2s
}

.play-btn:hover i {
    background-color: var(--title-color);
    color: var(--white-color)
}

.play-btn:hover:after,
.play-btn:hover::before {
    border-color: var(--white-color)
}

.play-btn.style2 i {
    --icon-size: 90px;
    background-color: var(--white-color);
    color: var(--theme-color)
}

.play-btn.style2::after,
.play-btn.style2::before {
    border-color: var(--white-color)
}

.play-btn.style2:hover i {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.play-btn.style2:hover::before,
.play-btn.style2:hover:after {
    border-color: var(--theme-color)
}

.link-btn {
    font-weight: 600;
    font-size: 16px;
    display: inline-block;
    line-height: .8;
    position: relative;
    padding-bottom: 2px;
    margin-bottom: -2px;
    text-transform: capitalize
}

.link-btn i {
    margin-left: 7px;
    font-size: .9rem
}

.link-btn:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    background-color: var(--theme-color);
    transition: all ease .4s
}

.link-btn:hover {
    color: var(--theme-color)
}

.link-btn:hover::before {
    width: 100%
}

.scroll-btn {
    position: fixed;
    bottom: 300px;
    right: 30px;
    z-index: 94;
    opacity: 0;
    visibility: hidden;
    display: inline-block;
    border-radius: 50%
}

.scroll-btn i {
    display: inline-block;
    background-color: var(--theme-color);
    color: var(--white-color);
    text-align: center;
    font-size: 16px;
    width: var(--btn-size, 50px);
    height: var(--btn-size, 50px);
    line-height: var(--btn-size, 50px);
    z-index: 2;
    border-radius: inherit;
    position: relative;
    transition: all ease .8s
}

.scroll-btn:before {
    content: "";
    position: absolute;
    left: var(--extra-shape, -6px);
    top: var(--extra-shape, -6px);
    right: var(--extra-shape, -6px);
    bottom: var(--extra-shape, -6px);
    background-color: var(--body-bg);
    border-radius: inherit;
    z-index: 1;
    transition: all ease .4s
}

.scroll-btn:focus i,
.scroll-btn:hover i {
    background-color: var(--title-color);
    color: var(--white-color)
}

.scroll-btn.show {
    bottom: 120px;
    opacity: 1;
    visibility: visible
}

@media(max-width: 767px) {
    .scroll-btn {
        --btn-size: 40px;
        --extra-shape: -4px;
        right: 15px;
        bottom: 50px
    }

    .scroll-btn.show {
        bottom: 15px
    }
}

.scrollToTop {
    position: fixed;
    right: 60px;
    bottom: 500px;
    opacity: 0;
    visibility: hidden;
    transition: all ease .4s;
    z-index: 96
}

.scrollToTop.show {
    bottom: 60px;
    opacity: 1;
    visibility: visible
}

@media(max-width: 767px) {
    .play-btn {
        --icon-size: 60px
    }

    .play-btn.style2 i {
        --icon-size: 60px
    }

    .scrollToTop {
        right: 20px
    }

    .scrollToTop.show {
        bottom: 20px
    }
}

.sec-subtitle3,
.sec-subtitle2,
.sec-subtitle {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--theme-color);
    display: inline-block;
    vertical-align: top;
    border: 1px solid var(--border-color);
    padding: 9px 22px;
    letter-spacing: .02em;
    line-height: 1;
    font-family: var(--title-font);
    margin-bottom: 25px
}

.sec-subtitle2 {
    border-color: var(--theme-color)
}

.sec-subtitle3 {
    border-color: var(--white-color);
    color: var(--white-color)
}

.sec-title2,
.sec-title {
    font-size: 48px;
    line-height: 1.13;
    margin-top: -0.2em;
    margin-bottom: 21px;
    text-transform: capitalize
}

.sec-title2 {
    text-transform: uppercase
}

.sec-text {
    margin-bottom: 32px
}

.sec-btns,
.title-area {
    margin-bottom: 50px
}

.sec-text2 {
    margin: -10px 0 -0.8em 0;
    padding-top: 11px;
    color: var(--title-color);
    border-top: 1px solid #d8dde1
}

.sec-text2 .number {
    color: var(--theme-color);
    font-size: 30px;
    font-family: var(--title-font);
    font-weight: 700
}

@media(max-width: 1399px) {

    .sec-title2,
    .sec-title {
        font-size: 40px
    }
}

@media(max-width: 1199px) {

    .sec-title,
    .sec-title2 {
        font-size: 36px;
        line-height: 1.2;
        margin-bottom: 15px
    }

    .title-area,
    .sec-btns {
        margin-bottom: 40px
    }

    .title-area.has-sec-btns {
        margin-bottom: 20px
    }
}

@media(max-width: 767px) {

    .sec-title,
    .sec-title2 {
        font-size: 30px
    }
}

.image-scale-hover {
    overflow: hidden
}

.image-scale-hover img {
    transition: all ease .4s;
    transform: scale(1.001)
}

.image-scale-hover:hover img {
    transform: scale(1.2)
}

.z-index-step1 {
    position: relative;
    z-index: 4 !important
}

.z-index-common {
    position: relative;
    z-index: 3
}

.z-index-n1 {
    z-index: -1
}

.media-body {
    flex: 1
}

.badge {
    position: absolute;
    width: -moz-fit-content;
    width: fit-content;
    display: inline-block;
    text-align: center;
    background-color: var(--theme-color);
    color: var(--white-color);
    padding: .35em .55em;
    border-radius: 50%
}

@media(min-width: 1921px) {
    .d-hd-none {
        display: none !important
    }
}

@media(min-width: 1700px) {
    .d-hd-block {
        display: block !important
    }

    .d-hd-flex {
        display: block !important
    }
}

.fw-light {
    font-weight: 300
}

.fw-normal {
    font-weight: 400
}

.fw-medium {
    font-weight: 500
}

.fw-semibold {
    font-weight: 600
}

.fw-bold {
    font-weight: 700
}

.fw-extrabold {
    font-weight: 800
}

.fs-md {
    font-size: 18px
}

.fs-xs {
    font-size: 14px
}

.fs-20 {
    font-size: 20px
}

@media(max-width: 767px) {

    .fs-20,
    .fs-md {
        font-size: 16px
    }
}

.background-image,
[data-bg-src] {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center
}

.bg-fluid {
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center
}

.bg-auto {
    background-size: auto auto
}

.bg-title {
    background-color: var(--title-color)
}

.bg-theme {
    background-color: var(--theme-color)
}

.bg-secondary {
    background-color: var(--secondary-color) !important
}

.bg-bottom {
    background-position: bottom center;
    background-size: 100% auto
}

.text-inherit {
    color: inherit
}

.text-inherit:hover {
    color: var(--theme-color)
}

a.text-theme:hover,
.text-reset:hover {
    text-decoration: underline
}

.text-theme {
    color: var(--theme-color)
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%
}

.position-center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

[data-overlay] {
    position: relative
}

[data-overlay] [class^=col-],
[data-overlay] [class*=col-] {
    z-index: 1
}

[data-overlay]:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1
}

[data-opacity="1"]:before {
    opacity: 0.1
}

[data-opacity="2"]:before {
    opacity: 0.2
}

[data-opacity="3"]:before {
    opacity: 0.3
}

[data-opacity="4"]:before {
    opacity: 0.4
}

[data-opacity="5"]:before {
    opacity: 0.5
}

[data-opacity="6"]:before {
    opacity: 0.6
}

[data-opacity="7"]:before {
    opacity: 0.7
}

[data-opacity="8"]:before {
    opacity: 0.8
}

[data-opacity="9"]:before {
    opacity: 0.9
}

[data-opacity="10"]:before {
    opacity: 1
}

.jump-reverse-img,
.jump-img,
.jump-reverse,
.jump {
    animation: jumpping var(--duration, 6s) infinite linear
}

.jump-reverse-img,
.jump-img {
    --duration: 5s
}

.jump-reverse-img,
.jump-reverse {
    --jump-y: -20px
}

.rotate-reverse-img,
.rotate-img,
.rotate-reverse,
.rotate {
    animation: rotate var(--duration, 12s) infinite linear
}

.rotate-reverse-img,
.rotate-img {
    --duration: 40s
}

.rotate-reverse {
    --rotate-angle: -360deg
}

.fadeInUp {
    animation-name: fadeInUp
}

.wow-animated {
    animation-duration: 1s;
    animation-fill-mode: both
}

.fadein {
    --animation-name: fadein-custom
}

.slideinup {
    --animation-name: slideinup
}

.slideindown {
    --animation-name: slideindown
}

.slideinleft {
    --animation-name: slideinleft
}

.slideinright {
    --animation-name: slideinright
}

.animated {
    animation-fill-mode: both;
    animation-iteration-count: 1;
    animation-duration: 1s;
    animation-delay: .3s;
    animation-name: var(--animation-name)
}

.ripple-animation {
    animation-duration: var(--ripple-ani-duration);
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-name: ripple
}

@keyframes ripple {
    0% {
        transform: scale(1);
        opacity: 0
    }

    30% {
        opacity: .4
    }

    100% {
        transform: scale(1.5);
        opacity: 0
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(var(--rotate-angle, 360deg))
    }
}

@keyframes slideinup {
    0% {
        opacity: 0;
        transform: translateY(70px)
    }

    100% {
        transform: translateY(0)
    }
}

@keyframes slideindown {
    0% {
        opacity: 0;
        transform: translateY(-70px)
    }

    100% {
        transform: translateY(0)
    }
}

@keyframes slideinleft {
    0% {
        opacity: 0;
        transform: translateX(-70px)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes slideinright {
    0% {
        opacity: 0;
        transform: translateX(70px)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes fadein-custom {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes jumpping {

    0%,
    100% {
        transform: translate3d(0, 0, 0)
    }

    40% {
        transform: translate3d(0, var(--jump-y, 20px), var(--jump-x, 0))
    }
}

@keyframes bounceonhover {
    0% {
        transform: translateX(0px)
    }

    50% {
        transform: translateX(-8px)
    }

    100% {
        transform: translateX(0)
    }
}

.widget_nav_menu ul,
.widget_pages ul,
.widget_archive ul,
.widget_categories ul {
    list-style: none;
    margin: 0 0 -10px 0;
    padding: 0
}

.widget_nav_menu a,
.widget_pages a,
.widget_archive a,
.widget_categories a {
    display: block;
    margin: 0 0 18px 0;
    padding: 0 0 15px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    font-family: var(--title-font);
    color: var(--body-color);
    border-bottom: 1.1px solid var(--border-color);
    border-radius: 0;
    position: relative
}

.widget_nav_menu a::before,
.widget_pages a::before,
.widget_archive a::before,
.widget_categories a::before {
    content: "";
    position: relative;
    margin-right: 10px;
    font-family: var(--icon-font)
}

.widget_nav_menu a:after,
.widget_pages a:after,
.widget_archive a:after,
.widget_categories a:after {
    content: "";
    font-family: var(--icon-font);
    position: absolute;
    right: 0;
    top: 0
}

.widget_nav_menu a:hover,
.widget_pages a:hover,
.widget_archive a:hover,
.widget_categories a:hover {
    color: var(--theme-color)
}

.widget_nav_menu>ul>li:last-child>a,
.widget_pages>ul>li:last-child>a,
.widget_archive>ul>li:last-child>a,
.widget_categories>ul>li:last-child>a {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 7px
}

.widget_nav_menu li,
.widget_pages li,
.widget_archive li,
.widget_categories li {
    display: block;
    position: relative
}

.widget_nav_menu li>span,
.widget_pages li>span,
.widget_archive li>span,
.widget_categories li>span {
    width: 40px;
    height: 40px;
    line-height: 35.5px;
    font-size: 18px;
    font-weight: 500;
    color: var(--title-color);
    background-color: rgba(0, 0, 0, 0);
    right: 10px;
    top: 10px;
    z-index: 1;
    display: inline-block;
    text-align: center;
    position: absolute;
    border: 2px solid var(--theme-color);
    transition: all ease .4s;
    border-radius: 0
}

.widget_nav_menu li:hover>span,
.widget_pages li:hover>span,
.widget_archive li:hover>span,
.widget_categories li:hover>span {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.widget_nav_menu .children,
.widget_pages .children,
.widget_archive .children,
.widget_categories .children {
    margin-left: 10px
}

.widget_nav_menu .sub-menu {
    margin-left: 10px
}

.wp-block-archives {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 20px
}

.wp-block-archives a:not(:hover) {
    color: inherit
}

.vs-blog ul.wp-block-archives li {
    margin: 5px 0
}

.widget {
    padding: var(--widget-padding-y, 40px) var(--widget-padding-x, 40px);
    position: relative;
    margin-bottom: 40px;
    background-color: var(--secondary-color)
}

.widget select,
.widget input {
    height: 60px;
    border: none;
    background-color: var(--input-bg, #F0F4F5);
    border-radius: 9999px
}

.widget_vs_btns .vs-btn {
    width: 100%;
    margin-bottom: 15px
}

.widget_vs_btns .vs-btn:last-child {
    margin-bottom: 0
}

.widget_vs_btns .vs-btn i {
    margin-right: 10px;
    margin-left: 0
}

.widget_title {
    position: relative;
    font-weight: 600;
    font-size: 24px;
    line-height: 1em;
    margin: -0.2em 0 38px 0;
    padding: 0 0 18px 0;
    font-family: var(--title-font)
}

.widget_title:after,
.widget_title:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 3px;
    width: 100%;
    background-color: var(--border-color);
    border-radius: 9999px
}

.widget_title:after {
    width: 30px;
    background-color: var(--theme-color)
}

.widget .search-form {
    position: relative;
    display: flex
}

.widget .search-form input {
    background-color: var(--white-color);
    border-radius: 0;
    flex: 1;
    padding: 0 20px;
    height: 56px
}

.widget .search-form button {
    width: 56px;
    height: 56px;
    background-color: var(--theme-color);
    color: var(--white-color);
    border: none;
    text-align: center;
    padding: 0
}

.widget .search-form button:hover {
    background-color: var(--title-color);
    color: var(--white-color)
}

.wp-block-tag-cloud a,
.tagcloud a {
    display: inline-block;
    border: none;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    padding: 13px 18.5px;
    margin-right: 5px;
    margin-bottom: 10px;
    color: var(--title-color);
    background-color: var(--secondary-color);
    border-radius: 2px;
    position: relative;
    z-index: 1
}

.wp-block-tag-cloud a:hover,
.tagcloud a:hover {
    background-color: var(--theme-color);
    color: var(--white-color) !important;
    border-color: rgba(0, 0, 0, 0)
}

.wp-block-tag-cloud a:hover:before,
.tagcloud a:hover:before {
    background-color: var(--white-color)
}

.widget .tagcloud a:not(:hover) {
    background-color: var(--white-color)
}

.tagcloud {
    margin-right: -5px;
    margin-bottom: -10px
}

.recent-post {
    display: flex;
    align-items: center;
    margin-bottom: 21px
}

.recent-post:last-child {
    margin-bottom: 0
}

.recent-post .media-img {
    margin-right: 15px;
    width: 85px
}

.recent-post .media-img img {
    width: 100%
}

.recent-post .post-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    margin: 0 0 4px 0
}

.recent-post .recent-post-meta a {
    text-transform: capitalize;
    font-size: 14px;
    font-weight: 400;
    color: var(--body-color)
}

.recent-post .recent-post-meta a i {
    color: var(--theme-color);
    margin-right: 7px
}

.sidebar-gallery {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(3, 1fr)
}

.sidebar-gallery .gallery-thumb {
    overflow: hidden
}

.sidebar-gallery .gallery-thumb img {
    transition: all ease .4s;
    transform: scale(1.01) rotate(0)
}

.sidebar-gallery .gallery-thumb:hover img {
    transform: scale(1.1) rotate(5deg)
}

.vs-widget-about:not(.style2) {
    text-align: center
}

.vs-widget-about:not(.style2) .footer-text {
    color: var(--white-color)
}

.vs-widget-about .footer-logo {
    margin-bottom: 30px
}

.vs-widget-about .footer-text {
    font-size: 18px;
    max-width: 620px;
    margin: 0 auto -0.5em auto
}

@media(max-width: 1199px) {
    .widget {
        --widget-padding-y: 30px;
        --widget-padding-x: 30px
    }

    .recent-post .post-title {
        font-size: 16px;
        line-height: 24px
    }
}

@media(max-width: 991px) {
    .sidebar-area {
        padding-top: 30px
    }

    .wp-block-tag-cloud a,
    .tagcloud a {
        padding: 10.5px 18px
    }
}

@media(max-width: 767px) {
    .widget_title {
        font-size: 22px
    }

    .sidebar-area .comment-list .comment-author {
        font-size: 18px
    }

    .sidebar-area .comment-list .comment-text {
        font-size: 14px
    }
}

@media(max-width: 575px) {
    .widget {
        padding: 30px 20px
    }
}

.footer-widget,
.footer-widget .widget {
    padding: 0;
    border: none;
    padding-bottom: 0;
    background-color: rgba(0, 0, 0, 0)
}

.footer-widget .widget_title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 32px;
    padding-bottom: 17px;
    color: var(--white-color)
}

.footer-widget .widget_title:after,
.footer-widget .widget_title::before {
    left: 0;
    width: 20px;
    height: 1.5px;
    background-color: var(--theme-color);
    border-radius: 0
}

.footer-widget .widget_title:after {
    left: 30px;
    width: 50px
}

.footer-widget.widget_meta ul,
.footer-widget.widget_pages ul,
.footer-widget.widget_archive ul,
.footer-widget.widget_categories ul,
.footer-widget.widget_nav_menu ul {
    margin-top: -0.1em
}

.footer-widget.widget_meta ul ul,
.footer-widget.widget_pages ul ul,
.footer-widget.widget_archive ul ul,
.footer-widget.widget_categories ul ul,
.footer-widget.widget_nav_menu ul ul {
    margin-top: 0
}

.footer-widget.widget_meta a,
.footer-widget.widget_pages a,
.footer-widget.widget_archive a,
.footer-widget.widget_categories a,
.footer-widget.widget_nav_menu a {
    position: relative;
    width: -moz-max-content;
    width: max-content;
    display: block;
    border: none;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 21px;
    color: var(--white-color);
    font-family: var(--body-font);
    border: none;
    padding: 0 0 0 18px
}

.footer-widget.widget_meta a:after,
.footer-widget.widget_pages a:after,
.footer-widget.widget_archive a:after,
.footer-widget.widget_categories a:after,
.footer-widget.widget_nav_menu a:after {
    display: none
}

.footer-widget.widget_meta a::before,
.footer-widget.widget_pages a::before,
.footer-widget.widget_archive a::before,
.footer-widget.widget_categories a::before,
.footer-widget.widget_nav_menu a::before {
    content: "";
    position: absolute;
    font-family: var(--icon-font);
    font-weight: 400;
    left: 0;
    top: 50%;
    height: 10px;
    margin-top: -5px;
    font-size: 18px;
    display: inline-block;
    line-height: 10px;
    transition: all ease .4s;
    color: var(--white-color)
}

.footer-widget.widget_meta a:hover,
.footer-widget.widget_pages a:hover,
.footer-widget.widget_archive a:hover,
.footer-widget.widget_categories a:hover,
.footer-widget.widget_nav_menu a:hover {
    color: var(--theme-color)
}

.footer-widget.widget_meta a:hover::before,
.footer-widget.widget_pages a:hover::before,
.footer-widget.widget_archive a:hover::before,
.footer-widget.widget_categories a:hover::before,
.footer-widget.widget_nav_menu a:hover::before {
    color: var(--theme-color);
    animation: bounceonhover .6s infinite linear
}

.footer-widget.widget_meta li>span,
.footer-widget.widget_pages li>span,
.footer-widget.widget_archive li>span,
.footer-widget.widget_categories li>span,
.footer-widget.widget_nav_menu li>span {
    width: auto;
    height: auto;
    position: relative;
    background-color: rgba(0, 0, 0, 0);
    color: var(--body-color);
    line-height: 1
}

.footer-widget.widget_meta li:last-child a,
.footer-widget.widget_pages li:last-child a,
.footer-widget.widget_archive li:last-child a,
.footer-widget.widget_categories li:last-child a,
.footer-widget.widget_nav_menu li:last-child a {
    margin-bottom: 0
}

.footer-table table {
    border: none;
    margin: 0
}

.footer-table td {
    color: var(--white-color);
    padding: 0 40px 21px 0;
    border: none;
    line-height: 1
}

.footer-table td:last-child {
    padding-right: 0
}

.footer-table tr:last-child td {
    padding-bottom: 0
}

@media(max-width: 1199px) {
    .footer-widget {
        margin-bottom: 50px
    }

    .footer-widget .widget_title {
        font-size: 20px;
        margin-bottom: 30px;
        margin-top: 0
    }
}

@media(max-width: 991px) {
    .footer-widget .widget_title {
        font-size: 22px
    }
}

.vs-header {
    position: relative;
    z-index: 41
}

.header-logo {
    /* max-width: 270px; */
    padding: 10px 0
}

.sticky-header {
    position: fixed;
    left: 0;
    top: -100%;
    z-index: 999;
    padding: 20px
}

.sticky-header .logo {
    padding: 18px 0
}

.menu-sticky1>ul>li>a {
    padding: 25px 0
}

.will-sticky .sticky-active {
    position: fixed;
    top: -100%;
    right: 0;
    left: 0;
    background-color: var(--white-color);
    transition: all ease .8s;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .07)
}

.will-sticky .sticky-active.active {
    top: 0
}

.main-menu a {
    display: block;
    position: relative;
    font-family: var(--title-font);
    font-weight: 700;
    font-size: 18px;
    color: var(--title-color)
}

@media(max-width: 1500px) {
    .main-menu a {
        font-size: 16px
    }
}

.main-menu a:hover {
    color: var(--theme-color)
}

.main-menu>ul>li {
    margin: 0 16px
}

.main-menu ul {
    margin: 0;
    padding: 0
}

.main-menu ul li {
    list-style-type: none;
    display: inline-block;
    position: relative
}

/* .main-menu ul li.menu-item-has-children>a:after {
    content: "";
    position: relative;
    font-family: var(--icon-font);
    margin-left: 5px;
    top: -0.8px;
    font-size: .8rem
} */

.main-menu ul li:last-child {
    margin-right: 0
}

.main-menu ul li:first-child {
    margin-left: 0
}

.main-menu ul li:hover>ul.sub-menu,
.main-menu ul li:hover ul.mega-menu {
    visibility: visible;
    opacity: 1;
    margin-top: 0;
    z-index: 9
}

.main-menu ul.sub-menu,
.main-menu ul.mega-menu {
    position: absolute;
    text-align: left;
    top: 100%;
    left: 0;
    background-color: var(--body-bg);
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
    visibility: hidden;
    min-width: 190px;
    width: -moz-max-content;
    width: max-content;
    padding: 7px;
    left: -14px;
    margin-top: 50px;
    opacity: 0;
    z-index: -1;
    border-bottom: 3px solid var(--theme-color);
    box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, .09), 0px 3px 0px 0px rgba(231, 13, 60, .004);
    transform-origin: top center;
    transition: margin-top .4s ease-in-out 0s, visibility .4s ease-in-out 0s, opacity .4s ease-in-out 0s, z-index 0s
}

.main-menu ul.sub-menu a,
.main-menu ul.mega-menu a {
    font-size: 16px;
    line-height: 30px
}

.main-menu ul.sub-menu {
    padding: 18px 20px;
    left: -27px
}

.main-menu ul.sub-menu:before {
    content: "";
    position: absolute;
    left: 34px;
    top: 30px;
    width: 1px;
    background-color: var(--border-color);
    height: calc(100% - 65px)
}

.main-menu ul.sub-menu li {
    display: block;
    margin: 0 0;
    padding: 3px 9px
}

.main-menu ul.sub-menu li.menu-item-has-children>a:after {
    content: "";
    float: right;
    top: 3px
}

.main-menu ul.sub-menu li a {
    position: relative;
    padding-left: 21px
}

.main-menu ul.sub-menu li a:before {
    content: "";
    position: absolute;
    top: 2.8em;
    left: 0;
    font-family: var(--icon-font);
    width: 11px;
    height: 11px;
    text-align: center;
    border-radius: 50%;
    display: inline-block;
    font-size: .2em;
    line-height: 11.5px;
    color: var(--theme-color);
    font-weight: 700;
    background-color: var(--body-bg);
    box-shadow: inset 0px 2px 4px 0px rgba(242, 0, 58, .4)
}

.main-menu ul.sub-menu li ul.sub-menu {
    left: 100%;
    right: auto;
    top: 0;
    margin: 0 0;
    margin-left: 20px
}

.main-menu ul.sub-menu li ul.sub-menu li ul {
    left: 100%;
    right: auto
}

.main-menu .mega-menu-wrap {
    position: static
}

.main-menu ul.mega-menu {
    display: flex;
    justify-content: space-between;
    text-align: left;
    width: 100%;
    max-width: var(--main-container);
    padding: 20px 15px 23px 15px;
    left: 50%;
    transform: translateX(-50%)
}

.main-menu ul.mega-menu li {
    display: block;
    width: 100%;
    padding: 0 15px
}

.main-menu ul.mega-menu li li {
    padding: 4px 0
}

.main-menu ul.mega-menu li a {
    display: inline-block
}

.main-menu ul.mega-menu>li>a {
    display: block;
    padding: 0;
    padding-bottom: 5px;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    color: var(--title-color);
    border-color: var(--theme-color)
}

.main-menu ul.mega-menu>li>a::after,
.main-menu ul.mega-menu>li>a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 15px;
    height: 1px;
    background-color: var(--theme-color)
}

.main-menu ul.mega-menu>li>a::after {
    width: calc(100% - 20px);
    left: 20px
}

.main-menu ul.mega-menu>li>a:hover {
    padding-left: 0
}

.menu-style1>ul>li>a {
    padding: 35px 0
}

.header-links ul {
    margin: 0;
    padding: 0;
    list-style-type: none
}

.header-links li {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    color: var(--white-color);
    /* font-family: var(--title-font); */
    margin: 0 15px 0 0;
    padding: 0 20px 0 0;
    line-height: 1;
    position: relative
}

.header-links li:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    height: 14px;
    margin-top: -7px;
    width: 1px;
    background-color: var(--white-color);
    opacity: .3
}

.header-links li:last-child {
    padding-right: 0;
    margin-right: 0
}

.header-links li:last-child:after {
    display: none
}

.header-links i {
    margin: 0 10px 0 0
}

.header-links a {
    color: inherit
}

.header-links a:hover {
    color: inherit;
    text-decoration: underline
}

.header-icons {
    height: 100%;
    display: flex
}

.header-icons button,
.header-icons a {
    border: none;
    background-color: rgba(0, 0, 0, 0);
    height: 50px;
    width: 50px;
    line-height: 47px;
    border: 2px solid var(--border-color);
    vertical-align: middle;
    color: var(--theme-color);
    font-size: 20px;
    margin-right: 0;
    margin-left: 25px;
    text-align: center;
    border-radius: 50%
}

.header-icons button:first-child,
.header-icons a:first-child {
    margin-left: 0
}

.header-icons button:hover,
.header-icons a:hover {
    background-color: var(--theme-color);
    color: var(--white-color);
    border-color: rgba(0, 0, 0, 0)
}

.header-layout1 .header-logo {
    background-color: var(--theme-color);
    width: 385px;
    max-width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    display: flex
}

.header-layout1 .container-fluid {
    padding-left: 0;
    padding-right: 0
}

.header-layout1 .menu-area,
.header-layout1 .header-top {
    padding-left: 30px;
    padding-right: 30px
}

.header-layout1 .header-top {
    background-color: var(--theme-color);
    padding-top: 11px;
    padding-bottom: 11px
}

.header-layout1 .header-text {
    color: var(--white-color);
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 600;
    font-family: var(--title-font)
}

.header-logo2 {
    background-color: var(--title-color);
    border-right: 4px solid var(--theme-color);
    height: 100%;
    display: flex;
    align-items: center;
    padding: 20px 25px
}

.header-layout2 .header-top {
    background-color: var(--theme-color);
    padding: 11px 0
}

.header-layout2 .menu-area {
    position: relative;
    /* margin-bottom: -20px */
}

/* .header-layout2 .menu-area:before {
    content: "";
    position: absolute;
    left: -20px;
    top: 0;
    right: -20px;
    bottom: 0;
    background-color: #fff;
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px))
} */

.header-layout3 {
    position: absolute;
    left: 0;
    right: 0;
    top: 0
}

.header-layout3 .header-top {
    padding: 10.5px 0;
    background-color: var(--title-color)
}

.header-layout3 .header-top .social-style2 a:hover {
    color: var(--theme-color)
}

.header-layout3 .menu-area {
    background-color: hsla(0, 0%, 100%, .1)
}

.header-layout3 .main-menu>ul>li>a {
    color: var(--white-color)
}

.header-layout3 .main-menu>ul>li>a:hover {
    color: var(--theme-color)
}

@media(max-width: 1500px) {
    .header-layout1 .header-logo {
        /* width: 270px; */
        padding-right: 15px;
        padding-left: 15px
    }

    .header-layout1 .main-menu>ul>li {
        margin: 0 10px
    }

    .header-layout1 .main-menu>ul>li:last-child {
        margin-right: 0
    }

    .header-layout1 .main-menu>ul>li:first-child {
        margin-left: 0
    }

    .header-layout1 .menu-area,
    .header-layout1 .header-top {
        padding-left: 15px;
        padding-right: 15px
    }

    .header-icons button,
    .header-icons a {
        margin-left: 10px;
        width: 40px;
        height: 40px;
        line-height: 36px;
        font-size: 14px
    }

    .header-logo2 {
        padding-left: 0
    }

    .header-layout3 {
        position: relative;
        background-color: var(--title-color)
    }

    .header-layout3 .header-top {
        border-bottom: 1px solid hsla(0, 0%, 100%, .25)
    }

    .header-layout3 .menu-area {
        background-color: rgba(0, 0, 0, 0)
    }

    .header-layout3 .main-menu>ul>li {
        margin: 0 13px
    }
}

@media(max-width: 1199px) {
    .header-links li {
        font-size: 14px;
        margin: 0 10px 0 0;
        padding: 0 15px 0 0
    }
}

@media(max-width: 991px) {
    .header-layout2 .menu-area {
        margin: 0
    }

    .header-layout2 .menu-area:before {
        display: none
    }
}

@media(max-width: 767px) {
    .header-layout1 .header-logo {
        width: 190px
    }

    .header-links {
        text-align: center
    }

    .header-links li {
        font-size: 12px
    }
}

@media(max-width: 575px) {
    .header-links ul {
        line-height: 0
    }

    .header-links li {
        display: inline-block;
        padding-right: 0;
        margin: 0 10px 0 0;
        line-height: 1;
        font-size: 10px
    }

    .header-links li i {
        margin-right: 4px
    }

    .header-links li::after {
        display: none
    }

    .header-logo {
        max-width: 200px
    }

    .header-logo2 {
        padding-right: 0;
        border: none
    }
}

.widget-area {
    padding-top: 60px;
    /* padding-bottom: 60px */
}

.copyright-wrap {
    padding: 29px 0;
    background-color: var(--theme-color)
}

.copyright-text {
    margin: 0;
    font-size: 16px;
    color: var(--white-color)
}

.copyright-text a {
    /* font-style: italic; */
    font-weight: 700;
    color: inherit
}

.copyright-text a:hover {
    text-decoration: underline
}

.copyright-menu ul {
    margin: 0;
    padding: 0
}

.copyright-menu li {
    display: inline-block;
    margin-right: 23px;
    padding-right: 28px;
    position: relative
}

.copyright-menu li:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 5px;
    height: 5px;
    margin-top: -2.5px;
    background-color: var(--white-color);
    border-radius: 50%;
    transition: all ease .4s
}

.copyright-menu li:last-child {
    padding-right: 0;
    margin-right: 0
}

.copyright-menu li:last-child:after {
    display: none
}

.copyright-menu a {
    display: block;
    color: var(--white-color);
    font-size: 16px
}

.copyright-menu a:hover {
    text-decoration: underline;
    color: var(--white-color)
}

.copyright-menu2 ul {
    margin: 0 auto;
    padding: 0;
    list-style: none;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    z-index: 1
}

.copyright-menu2 ul:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -1px;
    bottom: -0.5px;
    border-top: 1px solid hsla(0, 0%, 100%, .2);
    border-bottom: 1px solid hsla(0, 0%, 100%, .2);
    z-index: -1
}

.copyright-menu2 li {
    display: inline-block;
    margin: 0
}

.copyright-menu2 li:first-child a {
    border-width: 0 1px 0 1px
}

.copyright-menu2 a {
    display: block;
    padding: 0;
    border: none;
    font-size: 18px;
    font-weight: 700;
    font-family: var(--title-font);
    color: var(--white-color);
    padding: 25px 50px 25px 50px;
    margin: -1px;
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: hsla(0, 0%, 100%, .2)
}

.copyright-menu2 a:after,
.copyright-menu2 a:before {
    display: none
}

.copyright-menu2 a:hover {
    border-color: rgba(0, 0, 0, 0);
    background-color: var(--theme-color);
    color: var(--white-color)
}

.footer-top {
    border-bottom: 1px solid hsla(0, 0%, 100%, .15);
    padding-top: 77px;
    padding-bottom: 40px
}

.footer-social {
    text-align: center
}

.footer-social a {
    display: inline-block;
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    background-color: rgba(114, 114, 114, .5);
    color: var(--white-color);
    margin-right: 8px;
    border-radius: 50%
}

.footer-social a:last-child {
    margin-right: 0
}

.footer-social a:hover {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.footer-layout2 {
    background-color: var(--title-color)
}

.footer-layout2 .widget-area {
    padding: 80px 0 20px 0
}

.footer-layout2 .widget {
    padding: 0;
    background-color: rgba(0, 0, 0, 0);
    margin-bottom: 60px
}

.footer-layout2 .copyright-wrap {
    text-align: center;
    padding: 22px 15px
}

.footer-layout3 .footer-top {
    padding: 60px 0;
    border-bottom: 1px solid hsla(0, 0%, 100%, .2)
}

.footer-layout3 .copyright-wrap {
    border-top: 1px solid hsla(0, 0%, 100%, .2);
    background-color: rgba(0, 0, 0, 0)
}

@media(max-width: 1199px) {
    .widget-area {
        padding-top: 50px;
        padding-bottom: 10px
    }

    .footer-top {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .copyright-menu2 a {
        padding: 20px 30px
    }
}

@media(max-width: 991px) {
    .copyright-text {
        font-size: 14px
    }

    .copyright-menu li {
        padding-right: 0;
        margin-right: 10px
    }

    .copyright-menu li::after {
        display: none
    }

    .copyright-menu a {
        font-size: 14px
    }

    .copyright-wrap {
        padding: 20px 0
    }

    .copyright-menu2 a {
        padding: 15px 20px;
        font-size: 14px
    }

    .footer-layout2 .widget {
        margin-bottom: 30px
    }
}

@media(max-width: 767px) {
    .copyright-menu2 ul {
        border-bottom: none
    }

    .copyright-menu2 li:first-child a,
    .copyright-menu2 a {
        padding: 14px 20px 12px 20px;
        font-size: 12px;
        display: block;
        margin: 0;
        border-width: 0 1px 1px 1px
    }

    .copyright-menu2 li:last-child a {
        border-width: 0 1px 1px 1px
    }
}

.breadcumb-menu {
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 30px 0 0 0;
    list-style-type: none;
    position: relative
}

.breadcumb-menu li {
    display: inline-block;
    list-style: none;
    position: relative
}

.breadcumb-menu li:after {
    content: "";
    font-family: var(--icon-font);
    font-weight: 400;
    vertical-align: middle;
    position: relative;
    top: -1px;
    margin-left: 10px;
    margin-right: 5px
}

.breadcumb-menu li:last-child:after {
    display: none
}

.breadcumb-menu li,
.breadcumb-menu a,
.breadcumb-menu span {
    word-break: break-word;
    white-space: normal;
    font-weight: 700;
    font-size: 14px;
    color: var(--white-color);
    font-family: var(--body-font);
    letter-spacing: .04em;
    text-transform: uppercase
}

.breadcumb-menu a:hover {
    color: var(--theme-color)
}

.breadcumb-title {
    color: var(--white-color);
    margin: -0.1em 0 -0.4em 0;
    font-size: 64px
}

.breadcumb-wrapper {
    overflow: hidden;
    position: relative;
    background-color: var(--title-color);
    background-size: cover;
    padding: 143px 0 143px 0
}

@media(min-width: 1922px) {
    .breadcumb-wrapper {
        background-size: cover;
        background-position: center top
    }
}

@media(max-width: 1500px) {
    .breadcumb-wrapper {
        padding: 100px 0 100px 0
    }

    .breadcumb-title {
        font-size: 48px
    }
}

@media(max-width: 991px) {
    .breadcumb-wrapper {
        padding: 80px 0 80px 0
    }

    .breadcumb-title {
        font-size: 40px
    }
}

@media(max-width: 767px) {
    .breadcumb-wrapper {
        padding: 60px 0 60px 0;
        background-position: left center;
        text-align: center
    }

    .breadcumb-title {
        font-size: 30px
    }

    .breadcumb-menu {
        margin-top: 15px
    }

    .breadcumb-menu li,
    .breadcumb-menu a {
        font-size: 12px
    }
}

.vs-pagination {
    margin-bottom: 30px
}

.vs-pagination ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.vs-pagination span,
.vs-pagination a {
    position: relative;
    display: inline-block;
    text-align: center;
    border: none;
    background-color: var(--secondary-color);
    color: var(--title-color);
    font-family: var(--body-font);
    font-size: 16px;
    font-weight: 600;
    width: 56px;
    height: 56px;
    line-height: 56px;
    z-index: 1
}

.vs-pagination span i,
.vs-pagination a i {
    font-size: 1.2em
}

.vs-pagination span.active,
.vs-pagination span:hover,
.vs-pagination a.active,
.vs-pagination a:hover {
    color: var(--white-color);
    background-color: var(--theme-color)
}

.vs-pagination li {
    display: inline-block;
    margin: 0 3px;
    list-style-type: none
}

.vs-pagination li:last-child {
    margin-right: 0
}

.vs-pagination li:first-child {
    margin-left: 0
}

.post-pagination {
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 40px 0;
    margin-bottom: 30px;
    margin-top: 7px
}

.post-pagi-box {
    display: flex;
    align-items: center;
    gap: 20px
}

.post-pagi-box .pagi-icon {
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 22px;
    border-radius: 50%;
    background-color: var(--title-color);
    color: var(--white-color);
    display: inline-block
}

.post-pagi-box:hover .pagi-icon {
    background-color: var(--theme-color)
}

.post-pagi-box .pagi-content {
    flex: 1;
    line-height: 0
}

.post-pagi-box .pagi-content>a {
    color: var(--body-color);
    display: inline-block;
    line-height: 1
}

.post-pagi-box .pagi-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    margin: 0 0 15px 0px
}

.post-pagi-box.next {
    flex-direction: row-reverse;
    text-align: right
}

@media(max-width: 991px) {
    .post-pagi-box .pagi-title {
        font-size: 16px;
        margin: 0 0 10px 0px
    }

    .post-pagi-box .pagi-icon {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 16px
    }

    .post-pagi-box .post-pagination {
        padding: 25px 0
    }
}

@media(max-width: 767px) {

    .vs-pagination span,
    .vs-pagination a {
        width: 35px;
        height: 35px;
        line-height: 35px;
        font-size: 12px
    }

    .vs-pagination li:first-child a,
    .vs-pagination li:last-child a {
        padding: 0 10px
    }

    .post-pagi-box {
        display: block
    }

    .post-pagi-box .pagi-icon {
        margin-bottom: 15px
    }
}

blockquote.vs-quote {
    border: 1px solid var(--border-color);
    border-radius: 0 0 0 50px;
    position: relative;
    padding: 32px 50px .1px 50px;
    margin: 42px 0 42px 0
}

blockquote.vs-quote p {
    font-size: 16px;
    font-family: var(--title-font);
    font-weight: 600;
    line-height: 26px;
    color: var(--title-color);
    font-style: normal;
    margin: 0;
    z-index: 2;
    position: relative
}

blockquote.vs-quote cite {
    font-family: var(--title-font);
    font-weight: 600;
    line-height: 1;
    font-size: 16px;
    font-style: normal;
    display: block;
    width: -moz-max-content;
    width: max-content;
    padding: 9px 27.5px;
    background-color: var(--theme-color);
    color: var(--white-color);
    margin: 32px 0 -16px 50px
}

blockquote.vs-quote::before {
    content: "";
    font-family: var(--icon-font);
    font-weight: 700;
    color: var(--theme-color);
    background-color: var(--white-color);
    display: inline-block;
    font-size: 2.8rem;
    padding: 0 10px 50px 5px;
    position: absolute;
    left: -5px;
    top: -17px;
    z-index: 1
}

.blog-meta {
    margin-top: -0.4em
}

.blog-meta span,
.blog-meta a {
    display: inline-block;
    margin-right: 16px;
    padding-right: 20px;
    font-size: 16px;
    color: var(--body-color);
    position: relative
}

.blog-meta span:last-child,
.blog-meta a:last-child {
    padding-right: 0;
    margin-right: 0
}

.blog-meta span:last-child:before,
.blog-meta a:last-child:before {
    display: none
}

.blog-meta span:before,
.blog-meta a:before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -8px;
    height: 16px;
    width: 1px;
    background-color: #d8dde1
}

.blog-meta span i,
.blog-meta a i {
    margin-right: 10px;
    color: var(--theme-color)
}

.blog-meta a:hover {
    color: var(--theme-color)
}

.blog-category {
    margin-bottom: -10px
}

.blog-category a {
    display: inline-block;
    color: var(--white-color);
    padding: 4.5px 24.5px;
    margin-right: 5px;
    margin-bottom: 10px;
    border: 1px solid rgba(0, 0, 0, 0);
    background-color: var(--theme-color)
}

.blog-category a:hover {
    background-color: var(--white-color);
    color: var(--body-color);
    border-color: var(--theme-color)
}

.blog-title a {
    color: inherit
}

.blog-title a:hover {
    color: var(--theme-color)
}

.vs-blog {
    margin-bottom: 30px
}

.share-links-title {
    font-size: 20px;
    font-weight: 600;
    font-family: var(--title-font);
    color: var(--title-color);
    margin: 0 15px 0 0;
    display: inline-block
}

.share-links {
    padding: 40px var(--blog-space-x, 40px);
    background-color: var(--white-color);
    box-shadow: 0 20px 20px 0 rgba(0, 0, 0, .05);
    position: relative;
    z-index: 3
}

.share-links:before {
    content: "";
    position: absolute;
    top: 0;
    left: var(--blog-space-x, 40px);
    right: var(--blog-space-x, 40px);
    height: 1px;
    background-color: var(--secondary-color)
}

.share-links .row {
    align-items: center;
    --bs-gutter-y: 15px
}

.share-links .tagcloud {
    display: inline-block
}

.share-links .social-links {
    display: inline-block;
    list-style-type: none;
    margin: -2px;
    padding: 0
}

.share-links .social-links li {
    display: inline-block;
    margin-right: 4px
}

.share-links .social-links li:last-child {
    margin-right: 0
}

.share-links .social-links a {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    color: var(--title-color);
    background-color: var(--secondary-color);
    text-align: center;
    display: block
}

.share-links .social-links a:hover {
    color: var(--white-color);
    background-color: var(--theme-color);
    border-color: var(--theme-color)
}

.blog-inner-title {
    font-size: 30px;
    margin-top: -0.25em;
    margin-bottom: 42px
}

.blog-date {
    background-color: var(--theme-color);
    color: var(--white-color);
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    display: inline-block;
    padding: 8px 21px;
    margin-bottom: 18px;
    position: absolute;
    right: 20px;
    top: 20px;
    border-radius: 10px
}

.blog-date i {
    margin-right: 7px
}

.blog-date:hover {
    color: var(--title-color);
    background-color: var(--secondary-color)
}

.blog-btn {
    display: inline-block;
    font-size: 16px;
    text-transform: uppercase;
    font-family: var(--body-font);
    font-weight: 700;
    color: var(--title-color);
    line-height: 1;
    border-radius: 9999px;
    border: 1px solid var(--title-color);
    padding: 5px 5px 5px 20px
}

.blog-btn i {
    display: inline-block;
    height: 30px;
    line-height: 30px;
    width: 30px;
    color: var(--white-color);
    background-color: var(--theme-color);
    border-radius: 50%;
    text-align: center;
    margin-left: 10px;
    transition: all ease .4s
}

.blog-btn:hover {
    background-color: var(--theme-color);
    color: var(--white-color);
    border-color: rgba(0, 0, 0, 0)
}

.blog-btn:hover i {
    background-color: var(--white-color);
    color: var(--theme-color)
}

.blog-single {
    position: relative;
    margin-bottom: 60px
}

.blog-single .blog-meta {
    margin-bottom: 12px
}

.blog-single .blog-title {
    line-height: 1.2;
    margin-bottom: 15px;
    font-size: 30px
}

.blog-single .blog-text {
    margin-bottom: 32px
}

.blog-single .blog-content {
    padding: 34px var(--blog-space-x, 40px) 40px var(--blog-space-x, 40px);
    overflow: hidden;
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .05);
    background-color: var(--white-color);
    position: relative;
    z-index: 2
}

.blog-single .blog-audio,
.blog-single .blog-img {
    position: relative;
    background-color: var(--secondary-color);
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .05);
    z-index: 1
}

.blog-single .blog-audio {
    line-height: 1
}

.blog-single .blog-img .slick-arrow {
    --pos-x: 30px;
    --icon-size: 60px;
    border: none;
    background-color: var(--white-color);
    color: var(--theme-color)
}

.blog-single .blog-img .slick-arrow:hover {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.blog-single .blog-img .play-btn {
    --icon-size: 100px;
    --icon-font-size: 20px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: calc(var(--icon-size)/-2) 0 0 calc(var(--icon-size)/-2)
}

.blog-single .blog-img .play-btn:after,
.blog-single .blog-img .play-btn::before {
    background-color: rgba(0, 0, 0, 0);
    border: 2px solid var(--white-color)
}

.blog-single .blog-img .play-btn i {
    background-color: var(--white-color);
    color: var(--title-color)
}

.blog-single .blog-img .play-btn:hover i {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.blog-single .blog-img .play-btn:hover:after,
.blog-single .blog-img .play-btn:hover::before {
    border-color: var(--theme-color)
}

.blog-single:hover .blog-img .slick-arrow {
    opacity: 1;
    visibility: visible
}

.blog-details .blog-single .blog-content {
    overflow: hidden;
    padding-bottom: 20px
}

.blog-style1 {
    background-color: var(--white-color);
    margin-bottom: 30px
}

.blog-style1 .blog-img {
    overflow: hidden;
    position: relative
}

.blog-style1 .blog-img img {
    width: 100%;
    transition: all ease .4s;
    transform: scale(1.002)
}

.blog-style1 .blog-content {
    flex: 1
}

.blog-style1 .blog-meta {
    margin-bottom: 16px
}

.blog-style1 .blog-meta a {
    padding-right: 14px
}

.blog-style1 .blog-meta a:before {
    display: none
}

.blog-style1 .blog-title {
    margin-bottom: 17px
}

.blog-style1 .blog-content {
    padding: 35px 40px 40px 40px
}

.blog-style1 .blog-text {
    margin-bottom: 32px
}

.blog-style1.layout2 {
    display: flex;
    flex-direction: row-reverse
}

.blog-style1.layout2 .blog-text {
    margin-bottom: 22px
}

.blog-style1.layout3 {
    box-shadow: 0 10px 50px 0 rgba(0, 0, 0, .08)
}

.blog-style1.layout3 .blog-text {
    margin-bottom: 22px
}

.blog-style2 .blog-body {
    display: flex;
    flex-direction: column;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .05)
}

.blog-style2 .blog-content {
    display: flex;
    flex-direction: column
}

.blog-style2 .blog-img {
    overflow: hidden;
    margin-bottom: 30px
}

.blog-style2 .blog-img img {
    width: 100%;
    transition: all ease .4s;
    transform: scale(1.001) rotate(0)
}

.blog-style2 .blog-author {
    align-items: center;
    display: flex;
    margin-bottom: 22px
}

.blog-style2 .avater {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    overflow: hidden;
    margin-right: 15px
}

.blog-style2 .author-content {
    font-size: 20px;
    font-family: var(--title-font);
    font-weight: 500;
    line-height: 1;
    flex: 1
}

.blog-style2 .author-content .name {
    color: var(--title-color);
    font-weight: 700
}

.blog-style2 .blog-title {
    line-height: 1.45;
    margin-bottom: 19px
}

.blog-style2 .blog-meta {
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center
}

.blog-style2 .blog-meta a:not(.blog-date) {
    display: inline-block
}

.blog-style2 .blog-date {
    color: var(--white-color);
    font-size: 16px;
    text-align: center;
    border-radius: 0;
    right: 0;
    top: 0;
    position: relative;
    margin: 0 25px 0 0;
    background-color: var(--title-color);
    transition: all ease .4s
}

.blog-style2 .blog-date::before {
    display: none
}

.blog-style2 .blog-date .day {
    display: block;
    font-size: 20px;
    font-weight: 600;
    color: var(--white-color);
    margin-bottom: 3px
}

.blog-style2:hover .blog-img img {
    transform: scale(1.1) rotate(5deg)
}

.blog-style2:hover .blog-date {
    background-color: var(--theme-color)
}

@media(min-width: 992px) {

    .blog-style2:nth-child(odd) .blog-content,
    .blog-style2:nth-child(odd) .blog-body {
        flex-direction: column-reverse
    }

    .blog-style2:nth-child(odd) .blog-title {
        margin-top: 22px
    }

    .blog-style2:nth-child(odd) .blog-img {
        margin-bottom: 0;
        margin-top: 28px
    }

    .blog-style2:nth-child(odd) .blog-author {
        margin-bottom: 0
    }
}

@media(max-width: 1399px) {
    .blog-style1 .blog-content {
        padding: 30px 20px 30px 20px
    }

    .blog-style1 .blog-meta {
        margin-bottom: 6px
    }

    .blog-style1 .blog-title {
        font-size: 22px;
        line-height: 1.4;
        margin-bottom: 10px
    }

    .blog-style2 .blog-body {
        padding: 20px
    }

    .blog-style2 .blog-meta span,
    .blog-style2 .blog-meta a {
        padding-right: 10px;
        padding-left: 10px;
        margin-right: 0;
        font-size: 14px
    }

    .blog-style2 .blog-meta span:before,
    .blog-style2 .blog-meta a:before {
        display: none
    }

    .blog-style2 .blog-meta .blog-date {
        font-size: 14px;
        margin: 0 10px 0 0
    }

    .blog-style2 .author-content {
        font-size: 16px
    }
}

@media(max-width: 1199px) {
    blockquote.vs-quote {
        padding: 25px 30px .1px 50px;
        margin: 35px 0 40px 0
    }

    blockquote.vs-quote cite {
        margin: 20px 0 -16px 0;
        padding: 8px 15px
    }

    .blog-style1 .blog-content {
        padding: 30px 30px 30px 30px
    }

    .blog-style1 .blog-meta a {
        padding-right: 10px
    }

    .blog-style1.layout2 {
        display: block
    }

    .blog-single {
        --blog-space-y: 40px;
        --blog-space-x: 30px
    }

    .blog-single .blog-title {
        font-size: 30px
    }

    .blog-style2 .blog-meta i {
        display: block;
        margin-right: 0;
        margin-bottom: 3px
    }

    .blog-style2 .blog-meta a,
    .blog-style2 .blog-meta span {
        text-align: center;
        line-height: 1.4
    }

    .blog-style2 .blog-meta .blog-date {
        line-height: .5;
        padding-bottom: 15px
    }

    .blog-style2 .author-content {
        font-size: 14px
    }

    .blog-style2 .blog-author {
        margin-bottom: 15px
    }

    .blog-style2 .blog-img {
        margin-bottom: 15px
    }

    .blog-style2 .inside-meta {
        flex: 1;
        line-height: 0;
        display: flex;
        justify-content: space-around
    }
}

@media(max-width: 767px) {
    blockquote.vs-quote {
        padding: 20px 15px .1px 30px;
        margin: 35px 0 40px 0
    }

    blockquote.vs-quote cite {
        margin: 20px 0 -16px 0;
        padding: 7px 12px;
        font-size: 14px
    }

    blockquote.vs-quote::before {
        font-size: 1.8rem
    }

    .blog-single {
        --blog-space-y: 40px;
        --blog-space-x: 20px
    }

    .blog-single .blog-img .play-btn {
        --icon-size: 50px
    }

    .blog-single .blog-title {
        font-size: 24px;
        line-height: 1.3
    }

    .blog-single .blog-date {
        font-size: 14px;
        padding: 7px 14px;
        border-radius: 6px
    }

    .blog-style1 .blog-content {
        padding: 25px 20px 30px 20px
    }

    .blog-style1 .blog-title {
        margin-bottom: 5px;
        line-height: 1.6
    }

    .blog-style1 .blog-text {
        margin-bottom: 15px
    }
}

.vs-comment-form {
    margin: var(--blog-space-y, 40px) 0 var(--blog-space-y, 50px) 0
}

.comment-respond {
    position: relative;
    background-color: var(--white-color);
    padding: 40px;
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .05)
}

.comment-respond .form-title a#cancel-comment-reply-link {
    font-size: .7em;
    text-decoration: underline
}

.comment-respond .custom-checkbox.notice {
    margin-bottom: 25px
}

.comment-respond .row {
    --bs-gutter-x: 25px
}

.comment-respond .form-control {
    font-size: 16px
}

.comment-respond .form-group i {
    color: var(--body-color)
}

.comment-respond input[type=checkbox]~label:before {
    background-color: var(--body-bg);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    top: 3.5px
}

.comment-respond input[type=checkbox]:checked~label:before {
    background-color: var(--theme-color);
    border-color: rgba(0, 0, 0, 0)
}

.comment-respond .blog-inner-title {
    border: none;
    margin-bottom: 10px;
    padding-bottom: 0
}

.comment-respond .form-text {
    margin-bottom: 22px;
    font-size: 16px;
    color: var(--body-color)
}

.vs-comments-wrap {
    padding: 40px var(--bs-gutter-x, 40px) 10px var(--bs-gutter-x, 40px);
    margin: 40px 0;
    background-color: var(--white-color);
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .05)
}

.vs-comments-wrap .description p:last-child {
    margin-bottom: 0
}

.vs-comments-wrap .comment-respond {
    margin: 30px 0
}

.vs-comments-wrap pre {
    background: #ededed;
    color: #666;
    font-size: 14px;
    margin: 20px 0;
    overflow: auto;
    padding: 20px;
    white-space: pre-wrap;
    word-wrap: break-word
}

.vs-comments-wrap blockquote {
    background-color: #eaf8f9
}

.vs-comments-wrap li {
    margin: 0
}

.vs-comments-wrap .vs-post-comment {
    position: relative;
    padding: 40px 40px 31px 40px;
    display: flex;
    margin: 30px 0 30px 0;
    background-color: var(--secondary-color);
    border: 1px solid rgba(0, 0, 0, 0);
    transition: all ease .4s
}

.vs-comments-wrap .vs-post-comment:hover {
    border-color: var(--theme-color)
}

.vs-comments-wrap ul.comment-list {
    list-style: none;
    margin: -10px 0 0 0;
    padding: 0
}

.vs-comments-wrap ul.comment-list ul ul,
.vs-comments-wrap ul.comment-list ul ol,
.vs-comments-wrap ul.comment-list ol ul,
.vs-comments-wrap ul.comment-list ol ol {
    margin-bottom: 0
}

.vs-comments-wrap .comment-avater {
    width: 82px;
    height: 82px;
    margin-right: 20px;
    border-radius: 7px;
    overflow: hidden;
    background-color: var(--smoke-color)
}

.vs-comments-wrap .comment-avater img {
    width: 100%
}

.vs-comments-wrap .comment-content {
    flex: 1;
    align-self: center
}

.vs-comments-wrap .commented-on {
    position: relative;
    display: inline-block;
    color: var(--title-color);
    font-size: 14px;
    margin-bottom: 10px;
    font-weight: 600
}

.vs-comments-wrap .commented-on i {
    margin-right: 7px;
    font-size: .9rem;
    color: var(--theme-color)
}

.vs-comments-wrap .name {
    margin: -0.25em 0 7px 0;
    font-size: 24px
}

.vs-comments-wrap .comment-top {
    display: flex;
    justify-content: space-between
}

.vs-comments-wrap .text {
    color: var(--body-color);
    margin-bottom: 0
}

.vs-comments-wrap .text:last-of-type {
    margin-bottom: -0.25em
}

.vs-comments-wrap .children {
    margin: 0;
    padding: 0;
    list-style-type: none;
    margin-left: 40px
}

.vs-comments-wrap .reply_and_edit {
    margin-top: 25px
}

.vs-comments-wrap .replay-btn {
    color: var(--title-color);
    font-size: 16px;
    font-weight: 600;
    font-family: var(--title-font);
    display: inline-block;
    text-transform: capitalize
}

.vs-comments-wrap .replay-btn i {
    margin-right: 10px;
    color: var(--theme-color)
}

.vs-comments-wrap .replay-btn:hover {
    color: var(--theme-color)
}

.vs-comments-wrap .review-rating {
    background-color: var(--theme-color);
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 9px 15px
}

.vs-comments-wrap .star-rating {
    font-size: 10px;
    width: 70px
}

.vs-comments-wrap .star-rating:before {
    color: var(--white-color)
}

.vs-comments-wrap .star-rating span:before {
    color: var(--white-color)
}

.vs-comments-wrap .review .vs-post-comment {
    padding: 0
}

.vs-comments-wrap .review .comment-avater {
    width: 170px;
    height: auto
}

.woocommerce-Reviews .vs-comments-wrap {
    padding: 0;
    background-color: rgba(0, 0, 0, 0)
}

.woocommerce-Reviews .woocommerce-Reviews-title {
    margin-bottom: 40px
}

.vs-comments-wrap.vs-comment-form {
    margin: 0
}

@media(max-width: 1399px) {
    .comment-section {
        padding: 40px 40px 0px 40px
    }

    .vs-comments-wrap .vs-post-comment {
        padding: 30px 30px 30px 30px;
        margin: 30px 0 30px 0
    }

    .vs-comments-wrap .comment-avater {
        width: 100px;
        height: 100px;
        margin-right: 20px
    }

    .vs-comments-wrap .name {
        margin: -0.1em 15px 0 0;
        font-size: 20px
    }

    .comment-respond {
        padding: 30px
    }

    .comment-respond .form-control {
        height: 60px;
        font-size: 14px
    }
}

@media(max-width: 1199px) {
    .vs-comments-wrap {
        padding: 40px 30px 10px 30px
    }

    .vs-comments-wrap .vs-post-comment {
        display: block;
        padding: 30px 20px 20px 20px
    }

    .vs-comments-wrap .star-rating {
        position: relative;
        top: 0;
        right: 0
    }

    .vs-comments-wrap .comment-top {
        display: block
    }

    .vs-comments-wrap .comment-avater {
        margin-right: 0;
        margin-bottom: 20px
    }

    .vs-comments-wrap .children {
        margin-left: 40px
    }

    .vs-comments-wrap .review .vs-post-comment {
        padding: 30px
    }

    .comment-respond .form-text {
        font-size: 14px
    }
}

@media(max-width: 767px) {
    .vs-comments-wrap {
        padding: 40px 20px 10px 20px
    }

    .vs-comments-wrap .children {
        margin-left: 20px
    }

    .vs-comments-wrap .name {
        margin: -0.1em 0 7px 0;
        font-size: 20px;
        display: block
    }

    .vs-comments-wrap .review-rating {
        position: relative;
        right: 0;
        top: 0;
        margin: 10px 0 10px 0;
        width: -moz-max-content;
        width: max-content
    }

    .vs-comments-wrap .review .vs-post-comment {
        padding: 30px 20px
    }

    .comment-respond {
        padding: 40px 20px 40px 20px
    }

    .comment-respond textarea,
    .comment-respond input {
        height: 50px;
        padding-left: 20px;
        padding-right: 20px
    }

    .comment-respond label {
        font-size: 14px
    }

    .comment-section {
        padding: 40px 20px 0px 20px
    }
}

.hero-layout1 .ls-gui-element.ls-bottom-nav-wrapper {
    position: absolute !important;
    left: 140px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    height: auto !important
}

.hero-layout1 .ls-gui-element.ls-bottom-nav-wrapper::after,
.hero-layout1 .ls-gui-element.ls-bottom-nav-wrapper::before {
    content: "";
    position: absolute;
    --shape-height: 51px;
    top: calc(var(--shape-height)/-1);
    left: 50%;
    height: var(--shape-height);
    width: 2px;
    margin-left: -1px;
    background-image: linear-gradient(var(--gradient-direction, to top), var(--theme-color) 0%, rgba(33, 32, 32, 0.9) 100%);
    z-index: 44
}

.hero-layout1 .ls-gui-element.ls-bottom-nav-wrapper::after {
    top: auto;
    bottom: calc(var(--shape-height)/-1);
    --gradient-direction: to bottom
}

.hero-layout1.ls-v6 .ls-bottom-slidebuttons a {
    display: block !important;
    margin: 25px 0;
    width: 12px !important;
    height: 12px !important;
    border: none !important;
    background-color: var(--white-color) !important;
    border-radius: 0;
    transform: scale(1) !important;
    border: none !important;
    position: relative
}

.hero-layout1.ls-v6 .ls-bottom-nav-wrapper .ls-bottom-slidebuttons a:hover {
    transform: scale(1) !important;
    width: 12px !important;
    height: 12px !important;
    border: none !important;
    background-color: var(--theme-color) !important
}

.hero-layout1.ls-v6 .ls-bottom-slidebuttons a::before {
    content: "";
    position: absolute;
    left: -10px;
    top: -10px;
    bottom: -10px;
    right: -10px;
    border: 2px solid var(--theme-color);
    display: inline-block;
    transition: all ease .4s;
    opacity: 0;
    visibility: hidden
}

.hero-layout1.ls-v6 .ls-bottom-slidebuttons a.ls-nav-active {
    background-color: var(--theme-color) !important
}

.hero-layout1.ls-v6 .ls-bottom-slidebuttons a.ls-nav-active::before {
    opacity: 1;
    visibility: visible
}

.hero-layout1.ls-v6 .ls-nav-sides {
    display: none !important
}

.ls-layer .play-btn i,
.ls-layer .play-btn:before,
.ls-layer .play-btn:after {
    border-radius: 50%
}

.ls-icon-btn {
    width: 58px;
    height: 58px;
    display: inline-block;
    border-radius: 50%;
    background-color: var(--white-color);
    text-align: center;
    font-size: 24px;
    line-height: 58px;
    color: var(--theme-color)
}

.ls-icon-btn:hover {
    background-color: var(--title-color);
    color: var(--white-color)
}

.ls-layer .vs-btn.style4 {
    outline: none;
    border: 2px solid var(--white-color);
    color: var(--white-color);
    background-color: rgba(0, 0, 0, 0)
}

.ls-hero-btn {
    display: flex;
    justify-content: center;
    gap: 20px
}

.ls-hero-btn .vs-btn {
    height: 58px;
    width: 222px;
    font-family: var(--title-font);
    line-height: 58px;
    padding: 0
}

.ls-hero-btn .vs-btn.style4 {
    line-height: 56px
}

.ls-gui-element.ls-nav-next,
.ls-gui-element.ls-nav-prev {
    width: 60px !important;
    height: 60px !important;
    line-height: 60px !important;
    color: var(--theme-color);
    background-color: var(--white-color);
    border-radius: 0 !important;
    text-align: center;
    font-size: 24px
}

.ls-gui-element.ls-nav-next:hover,
.ls-gui-element.ls-nav-prev:hover {
    background-color: var(--theme-color);
    color: var(--white-color);
    transform: none !important
}

.ls-v6 .ls-gui-element.ls-nav-prev {
    left: 110px !important
}

.ls-v6 .ls-gui-element.ls-nav-next {
    right: 110px !important
}

.ls-gui-element.ls-nav-next:after,
.ls-gui-element.ls-nav-prev:after {
    display: none
}

.ls-gui-element.ls-nav-next:before {
    content: "";
    font-family: var(--icon-font)
}

.ls-gui-element.ls-nav-prev:before {
    content: "";
    font-family: var(--icon-font)
}

@media(max-width: 1700px) {
    .hero-layout1 .ls-gui-element.ls-bottom-nav-wrapper {
        left: 40px !important
    }
}

@media(max-width: 1200px) {
    .hero-layout1 .ls-gui-element.ls-bottom-nav-wrapper {
        display: none !important
    }
}

@media(max-width: 1024px) {
    .ls-layer .play-btn.style2 i {
        --icon-size: 60px
    }

    .ls-icon-btn {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 17px
    }

    .ls-hero-btn .vs-btn {
        width: 160px;
        height: 45px;
        line-height: 45px;
        font-size: 12px
    }

    .ls-hero-btn .vs-btn.style4 {
        line-height: 41px
    }
}

@media(max-width: 767px) {
    .ls-layer .play-btn.style2 i {
        --icon-size: 40px;
        --icon-font-size: 14px
    }

    .ls-icon-btn {
        width: 35px;
        height: 35px;
        line-height: 35px;
        font-size: 15px
    }

    .ls-hero-btn .vs-btn {
        width: 145px;
        height: 40px;
        line-height: 40px;
        font-size: 12px
    }

    .ls-hero-btn .vs-btn.style4 {
        line-height: 38px
    }
}

.inner-hero-link {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0
}

.error-content {
    text-align: center
}

.error-content .vs-btn {
    padding: 18px 40px
}

.error-img {
    margin-bottom: 58px
}

.error-text {
    margin-bottom: 18px;
    font-weight: 500;
    max-width: 570px;
    margin: 0 auto 33px auto
}

@media(max-width: 767px) {
    .error-img {
        margin-bottom: 30px
    }
}

.about-wrap1 {
    padding-top: 430px;
    margin-top: -430px
}

.about-shape1 {
    position: absolute;
    right: 0;
    bottom: 0
}

.media-style1 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 385px;
    height: 100%;
    background-color: var(--secondary-color)
}

.media-style1 .media-inner {
    display: flex;
    padding: 5px 25px 5px 5px;
    background-color: var(--theme-color);
    border-radius: 9999px
}

.media-style1 .media-icon {
    display: inline-block;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 24px;
    background-color: var(--white-color);
    color: var(--theme-color);
    border-radius: 50%;
    margin-right: 20px
}

.media-style1 .media-label {
    color: var(--white-color);
    font-size: 14px;
    font-weight: 600;
    font-family: var(--title-font)
}

.media-style1 .media-text {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0;
    color: var(--white-color)
}

.media-style2 {
    display: flex;
    align-items: center;
    text-align: left
}

.media-style2 .media-icon {
    margin-right: 25px
}

.media-style2 .media-title {
    color: var(--white-color);
    font-family: var(--title-font);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 17px;
    line-height: 1
}

.media-style2 .media-text {
    color: var(--white-color);
    margin: 0;
    line-height: 1
}

.media-style3 {
    display: flex;
    align-items: center;
    position: relative;
    background-color: var(--title-color);
    z-index: 1;
    padding: 35px 40px 35px 60px
}

.media-style3:before {
    content: "";
    position: absolute;
    z-index: -1;
    background-color: var(--theme-color);
    height: 100%;
    width: 103px;
    left: 0;
    top: 0;
    transition: all ease .4s
}

.media-style3 .media-icon {
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    border-radius: 50%;
    background-color: var(--white-color);
    margin-right: 30px
}

.media-style3 .media-label {
    color: var(--white-color);
    line-height: 1;
    margin-bottom: 5px
}

.media-style3 .media-title {
    color: var(--white-color);
    line-height: 34px;
    margin-bottom: 0;
    font-size: 24px
}

.media-style3:hover:before {
    width: 100%
}

.media-style4 {
    display: flex;
    margin-top: 40px
}

.media-style4 .media-icon {
    display: block;
    width: 60px;
    height: 60px;
    line-height: 60px;
    color: var(--theme-color);
    font-size: 20px;
    text-align: center;
    border-radius: 50%;
    background-color: var(--white-color);
    margin-right: 20px
}

.media-style4 .media-text,
.media-style4 .media-label {
    font-size: 14px;
    font-weight: 600;
    font-family: var(--title-font);
    color: var(--white-color);
    display: block
}

.media-style4 .media-text {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 0
}

.media-style5 {
    display: flex;
    align-items: center;
    padding: 20px;
    box-shadow: 0 6px 30px 0 rgba(0, 0, 0, .05);
    margin-bottom: 30px;
    border-radius: 20px
}

.media-style5 .media-title {
    font-size: 20px;
    margin-bottom: 7px;
    margin-top: -0.2em;
    font-weight: 600
}

.media-style5 .media-info {
    font-size: 14px;
    margin-bottom: -0.2em
}

.media-style5 .media-info a {
    display: inline-block;
    color: inherit
}

.media-style5 .media-info a:hover {
    color: var(--theme-color)
}

.media-style5 .media-icon {
    width: 70px;
    height: 70px;
    line-height: 70px;
    font-size: 30px;
    border-radius: 12px;
    margin-right: 20px;
    display: inline-block;
    text-align: center;
    color: var(--title-color);
    background-color: var(--secondary-color);
    transition: all ease .4s
}

.media-style5:hover .media-icon {
    color: var(--white-color);
    background-color: var(--theme-color)
}

.counter-style2 {
    background-color: var(--theme-color)
}

.counter-style2 .counter-item {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: hsla(0, 0%, 100%, .2);
    padding: 37px 20px;
    text-align: center;
    transition: all ease .4s;
    background-color: rgba(0, 0, 0, 0)
}

.counter-style2 .counter-item:last-child {
    border: none
}

.counter-style2 .counter-item:hover {
    background-color: var(--title-color)
}

.counter-style2 .counter-number {
    color: var(--white-color);
    font-size: 40px;
    line-height: 1;
    font-weight: 700;
    display: block;
    margin-bottom: 5px
}

.counter-style2 .counter-text {
    color: var(--white-color);
    font-size: 18px;
    font-weight: 600;
    font-family: var(--title-font);
    margin-bottom: 0
}

.social-style3 a,
.social-style1 a {
    display: inline-block;
    background-color: #727272;
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    border-radius: 50%;
    color: var(--white-color);
    transition: all ease .4s;
    margin-right: 7px
}

.social-style3 a:last-child,
.social-style1 a:last-child {
    margin-right: 0
}

.social-style3 a:hover,
.social-style1 a:hover {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.social-style2 .social-title {
    color: var(--white-color);
    display: inline-block;
    margin-right: 15px
}

.social-style2 a {
    color: var(--white-color);
    display: inline-block;
    font-size: 18px;
    margin-right: 20px
}

.social-style2 a:last-child {
    margin-right: 0
}

.social-style2 a:hover {
    color: var(--title-color)
}

.social-style3 {
    margin-bottom: 30px
}

.social-style3 a {
    border-radius: 10px;
    background-color: var(--secondary-color);
    color: var(--title-color)
}

.social-style4 a {
    width: 46px;
    height: 46px;
    line-height: 46px;
    display: inline-block;
    text-align: center;
    margin-right: 7px;
    background-color: var(--smoke-color);
    color: var(--title-color);
    transition: all ease .4s
}

.social-style4 a:last-child {
    margin-right: 0
}

.social-style4 a:hover {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.list-style1 ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.list-style1 li {
    position: relative;
    margin-bottom: 13px;
    padding-left: 27px
}

.list-style1 li:before {
    content: "";
    font-family: var(--icon-font);
    font-weight: 400;
    color: var(--theme-color);
    font-size: 18px;
    position: absolute;
    left: 0;
    top: -1px
}

.list-style2 ul {
    margin-bottom: 40px
}

.list-style2 li {
    position: relative;
    margin-bottom: 9px;
    padding-left: 22px
}

.list-style2 li:last-child {
    margin-bottom: 0
}

.list-style2 li>img:first-child {
    position: absolute;
    left: 0;
    top: 7px
}

.img-box1 {
    position: relative;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    padding-bottom: 53px;
    z-index: 1
}

.img-box1 .img1 {
    display: inline-block
}

.img-box1 .img2 {
    display: inline-block;
    vertical-align: top
}

.img-box1 .img3 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 6px 0 0 6px;
    background-color: var(--white-color)
}

.img-box1 .img4 {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 5;
    transform: translate(-50%, -50%)
}

.img-box1 .img5 {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1
}

.img-box2 {
    position: relative;
    padding-bottom: 68px;
    margin-bottom: 30px
}

.img-box2 .line {
    position: absolute;
    left: 0;
    top: 0;
    width: 10px;
    height: 100%;
    background-color: var(--theme-color)
}

.img-box2 .line::after,
.img-box2 .line::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 33px;
    background-color: var(--white-color)
}

.img-box2 .line:after {
    height: 10px;
    border-radius: 50%;
    z-index: 1;
    background-color: inherit
}

.img-box2 .img-1 {
    position: relative;
    padding-left: 30px;
    z-index: 1
}

.img-box2 .img-2 {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2
}

.img-box2 .img-2::after,
.img-box2 .img-2::before {
    content: "";
    position: absolute;
    top: -12px;
    left: -12px;
    bottom: 0;
    width: 195px;
    border: 2px solid var(--white-color);
    z-index: -1
}

.img-box2 .img-2:after {
    top: -26px;
    left: -26px;
    width: 210px
}

.img-box2 .img-3 {
    position: absolute;
    right: 30px;
    top: 0;
    z-index: -1
}

.img-box3 {
    position: relative;
    height: 100%
}

.img-box3 .play-btn {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

.img-box3 .img-1 {
    width: 900px;
    height: 100%;
    width: 100%
}

.exp-box {
    padding: 31px 40px;
    max-width: 190px;
    margin-bottom: 40px
}

.exp-box .exp-year {
    font-size: 64px;
    font-weight: 700;
    margin: 0 0 3px 0;
    line-height: 1;
    color: var(--theme-color)
}

.exp-box .exp-text {
    color: var(--title-color);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 0;
    font-family: var(--title-font)
}

.author-style1 {
    align-items: center;
    display: flex
}

.author-style1 .author-img {
    width: 60px;
    height: 60px;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid var(--theme-color);
    padding: 5px;
    background-color: var(--white-color);
    margin-right: 15px
}

.author-style1 .author-img img {
    border-radius: 50%
}

.author-style1 .author-name {
    font-size: 18px;
    margin-bottom: 5px;
    line-height: 1;
    margin-top: 4px
}

.author-style1 .author-degi {
    margin-bottom: 0;
    line-height: 1
}

.about-box1 {
    display: flex;
    gap: 30px;
    position: relative;
    z-index: 1;
    margin-bottom: 40px;
    text-align: left
}

.about-box1 .title-rotate {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--title-color);
    color: var(--white-color);
    font-size: 36px;
    line-height: 46px;
    font-weight: 700;
    width: 225px;
    height: 295px
}

.about-box1 .title-rotate .text {
    transform: rotate(-90deg);
    display: block;
    width: 200px
}

.about-box1 .about-body {
    background-color: var(--smoke-color);
    padding: 35px 35px 15px 35px;
    margin-right: -215px
}

.about-box1 .about-title {
    margin-bottom: 26px
}

.about-box1 .about-author {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .02em;
    padding-left: 50px;
    position: relative
}

.about-box1 .about-author::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    height: 2px;
    width: 40px;
    background-color: var(--theme-color);
    margin-top: -1px
}

@media(max-width: 1399px) {
    .about-box1 .title-rotate {
        font-size: 20px;
        line-height: 30px;
        width: 120px;
        height: 270px
    }

    .about-box1 .title-rotate .text {
        transform: rotate(-90deg);
        display: block;
        width: 145px
    }

    .about-box1 .about-title {
        margin-bottom: 10px
    }

    .about-box1 .about-body {
        background-color: var(--smoke-color);
        padding: 30px 20px 10px 20px;
        margin-right: -170px
    }

    .counter-style2 .counter-item {
        padding: 25px 20px
    }

    .about-wrap1 {
        padding-top: var(--section-space);
        margin-top: 0
    }
}

@media(max-width: 1199px) {
    .media-style2 .media-icon {
        margin-right: 15px
    }

    .media-style2 .media-title {
        font-size: 18px;
        margin-bottom: 11px
    }

    .media-style3 {
        display: block;
        text-align: center;
        padding: 20px 25px 30px 25px
    }

    .media-style3:before {
        bottom: auto;
        top: 0;
        right: 0;
        width: auto;
        height: 60px
    }

    .media-style3 .media-label {
        margin-bottom: 10px
    }

    .media-style3 .media-icon {
        margin: 0 auto 20px auto
    }

    .media-style3 .media-title {
        line-height: 1.4;
        font-size: 20px
    }

    .media-style3:hover:before {
        height: 100%
    }

    .exp-box {
        padding: 15px 25px;
        max-width: 100%;
        margin-bottom: 20px
    }

    .exp-box .exp-year {
        font-size: 40px
    }

    .list-style2 ul {
        margin-bottom: 30px
    }

    .img-box3 .img-1 {
        height: 600px;
        clip-path: none;
        background-size: cover
    }

    .social-style2 .social-title {
        margin-right: 10px;
        font-size: 14px
    }

    .social-style2 a {
        font-size: 14px;
        margin-right: 10px
    }

    .about-box1 .about-body {
        margin-right: -80px;
        padding-bottom: 25px
    }

    .about-box1 .title-rotate {
        height: 100%
    }

    .counter-style2 {
        display: grid;
        grid-template-columns: repeat(4, 1fr)
    }

    .counter-style2 .counter-item {
        border-right-width: 1px;
        border-bottom-width: 0px
    }

    .counter-style2 .counter-text {
        font-size: 14px
    }
}

@media(max-width: 991px) {
    .media-style2 .media-icon {
        margin-right: 10px;
        max-width: 30px
    }

    .media-style2 .media-title {
        font-size: 16px
    }

    .social-style1 a {
        width: 40px;
        height: 40px;
        line-height: 40px;
        margin-right: 2px
    }

    .media-style3 .media-title {
        line-height: 1.4;
        font-size: 18px
    }

    .social-style2 .social-title {
        display: none
    }

    .about-box1 .about-body {
        margin-right: 0
    }

    .counter-style2 {
        display: block
    }

    .counter-style2 .counter-item {
        border-width: 0 0 1px 0;
        padding: 25px 20px
    }
}

@media(max-width: 767px) {
    .img-box1 .img1 {
        width: 49%
    }

    .img-box1 .img2 {
        max-width: 49%
    }

    .img-box1 .img3 {
        padding: 0;
        width: 37%
    }

    .img-box1 .img4 {
        max-width: 100px
    }

    .img-box1 .img5 {
        max-width: 210px
    }

    .img-box2 .img-2 {
        position: absolute;
        width: 45%;
        margin-top: 30px
    }

    .img-box2 .img-2 img {
        width: 100%
    }

    .img-box2 .img-2::after,
    .img-box2 .img-2::before {
        display: none
    }

    .img-box2 .img-1 {
        max-width: 80%;
        padding-left: 20px
    }

    .img-box2 .img-3 {
        right: 0
    }

    .about-wrap1 {
        padding-top: var(--section-space-mobile)
    }

    .img-box3 .img-1 {
        height: 300px
    }

    .about-box1 {
        display: block
    }

    .about-box1 .title-rotate {
        height: auto;
        padding: 15px;
        width: 100%;
        margin-bottom: 20px
    }

    .about-box1 .title-rotate .text {
        width: auto;
        transform: rotate(0)
    }

    .about-box1 .about-body {
        text-align: center
    }
}

.body-bg1 {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    display: flex;
    background-color: var(--secondary-color)
}

.body-bg1 .bg-1 {
    flex: 1;
    height: 100%
}

.body-bg1 .bg-2 {
    width: 100%;
    height: 100%;
    max-width: 1320px
}

.contact-map {
    line-height: 0
}

@media(max-width: 991px) {
    .contact-map iframe {
        height: 400px
    }
}

@media(min-width: 1199px) {
    .brand-style1 .brand-container {
        max-width: var(--main-container);
        margin-left: auto;
        margin-right: auto;
        padding-left: calc(var(--container-gutters)/2);
        padding-right: calc(var(--container-gutters)/2)
    }
}

.brand-style1 .brand-inner {
    text-align: center;
    padding: 60px
}

.bg1-home3 {
    background-position: bottom center;
    background-size: 100% auto
}

@media(max-width: 1500px) {
    .body-bg1 .bg-2 {
        max-width: 1050px
    }

    .bg1-home3 {
        background-size: cover
    }
}

@media(max-width: 767px) {
    .brand-style1 .brand-inner {
        padding: 40px 15px
    }
}

.sidemenu-wrapper {
    position: fixed;
    z-index: 99999;
    right: 0;
    top: 0;
    height: 100%;
    width: 0;
    background-color: rgba(0, 0, 0, .75);
    opacity: 0;
    visibility: hidden;
    transition: all ease .8s
}

.sidemenu-wrapper .closeButton {
    display: inline-block;
    border: 1px solid;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 24px;
    padding: 0;
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: var(--black-color);
    color: var(--white-color);
    border-radius: 50%;
    transform: rotate(0);
    transition: all ease .4s;
    z-index: 2
}

.sidemenu-wrapper .closeButton:hover {
    color: var(--white-color);
    background-color: var(--theme-color);
    border-color: rgba(0, 0, 0, 0);
    transform: rotate(90deg)
}

.sidemenu-wrapper .sidemenu-content {
    background-color: var(--body-bg);
    width: 450px;
    margin-left: auto;
    padding: 40px 30px 80px 30px;
    height: 100%;
    overflow: scroll;
    position: relative;
    right: -500px;
    cursor: auto;
    transition-delay: 1s;
    transition: right ease 1s
}

.sidemenu-wrapper .sidemenu-content::-webkit-scrollbar-track {
    box-shadow: inset 0 0 1px rgba(0, 0, 0, .1);
    background-color: #f5f5f5
}

.sidemenu-wrapper .sidemenu-content::-webkit-scrollbar {
    width: 2px;
    background-color: #f5f5f5
}

.sidemenu-wrapper .widget {
    padding: 0;
    border: none;
    background-color: rgba(0, 0, 0, 0);
    margin-bottom: 50px
}

.sidemenu-wrapper.show {
    opacity: 1;
    visibility: visible;
    width: 100%;
    transition: all ease .8s
}

.sidemenu-wrapper.show .sidemenu-content {
    right: 0;
    opacity: 1;
    visibility: visible
}

.popup-search-box {
    position: fixed;
    top: 0;
    left: 50%;
    background-color: rgba(0, 0, 0, .95);
    height: 0;
    width: 0;
    overflow: hidden;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    border-radius: 50%;
    transform: translateX(-50%);
    transition: all ease .4s
}

.popup-search-box button.searchClose {
    width: 60px;
    height: 60px;
    line-height: 60px;
    position: absolute;
    top: 40px;
    right: 40px;
    border: none;
    background-color: var(--theme-color);
    color: var(--white-color);
    font-size: 30px;
    border-radius: 50%;
    transition: all ease .4s
}

.popup-search-box button.searchClose i {
    line-height: inherit
}

.popup-search-box button.searchClose:hover {
    color: var(--title-color);
    background-color: var(--white-color)
}

.popup-search-box form {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    padding-bottom: 40px;
    cursor: auto;
    width: 100%;
    max-width: 700px;
    transform: translate(-50%, -50%) scale(0);
    transition: transform ease .4s
}

@media(max-width: 1199px) {
    .popup-search-box form {
        max-width: 600px
    }
}

.popup-search-box form input {
    font-size: 14px;
    height: 70px;
    width: 100%;
    border: 2px solid var(--theme-color);
    background-color: rgba(0, 0, 0, 0);
    padding-left: 30px;
    color: #fff;
    border-radius: 50px
}

.popup-search-box form input::-moz-placeholder {
    color: #fff
}

.popup-search-box form input::placeholder {
    color: #fff
}

.popup-search-box form button {
    position: absolute;
    top: 0px;
    background-color: rgba(0, 0, 0, 0);
    border: none;
    color: #fff;
    font-size: 20px;
    right: 13px;
    color: var(--white-color);
    cursor: pointer;
    width: 70px;
    height: 70px;
    transition: all ease .4s;
    transform: scale(1.001)
}

.popup-search-box form button:hover {
    transform: scale(1.1)
}

.popup-search-box.show {
    opacity: 1;
    visibility: visible;
    width: 100.1%;
    height: 100%;
    transition: all ease .4s;
    border-radius: 0
}

.popup-search-box.show form {
    transition-delay: .5s;
    transform: translate(-50%, -50%) scale(1)
}

.service-style1 {
    background-color: var(--white-color);
    margin-bottom: 30px
}

.service-style1 .service-img {
    overflow: hidden
}

.service-style1 .service-img img {
    width: 100%;
    transform: scale(1.001) rotate(0);
    transition: all ease .4s
}

.service-style1:hover .service-img img {
    transform: scale(1.1) rotate(5deg)
}

.service-style1 .service-content {
    padding: .1px 20px 20px 20px
}

.service-style1 .service-body {
    background-color: var(--secondary-color);
    padding: .1px 20px 20px 20px;
    position: relative;
    margin-top: -50px;
    z-index: 1
}

.service-style1 .service-icon {
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    background-color: var(--white-color);
    margin-top: -25px;
    margin-bottom: 15px
}

.service-style1 .service-shape {
    position: absolute;
    right: 0;
    top: 0
}

.service-style1 .service-text {
    margin-bottom: 22px
}

.service-style1 .vs-btn {
    width: 100%
}

.service-style2 {
    background-color: var(--white-color);
    display: flex;
    align-items: center;
    position: relative;
    padding: 40px;
    margin-bottom: 30px
}

.service-style2 .service-img {
    width: 333px;
    margin-right: 40px;
    overflow: hidden
}

.service-style2 .service-img img {
    transform: scale(1.001);
    transition: all ease .4s
}

.service-style2:hover .service-img img {
    transform: scale(1.1)
}

.service-style2 .service-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px
}

.service-style2 .service-icon {
    text-align: center;
    width: 71px;
    height: 71px;
    line-height: 69px;
    border-radius: 50%;
    background-color: var(--theme-color)
}

.service-style2 .service-content {
    flex: 1
}

.service-style2 .service-number {
    font-size: 48px;
    font-weight: 700;
    color: var(--white-color);
    -webkit-text-stroke: 1px var(--body-color);
    line-height: 1
}

.service-style2 .service-list {
    margin: 0 0 18px 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.service-style2 .service-list li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 3px
}

.service-style2 .service-list li img {
    position: absolute;
    left: 0;
    top: 7.5px
}

.service-style4,
.service-style3 {
    background-color: var(--white-color);
    padding: 35px 40px 40px 40px;
    box-shadow: 0 10px 50px 0 rgba(0, 0, 0, .08);
    position: relative
}

.service-style4 .service-icon,
.service-style3 .service-icon {
    background-color: var(--title-color);
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    position: absolute;
    right: 0;
    top: 0;
    transition: all ease .4s
}

.service-style4 .service-number,
.service-style3 .service-number {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    display: block;
    margin-bottom: 17px;
    color: var(--title-color);
    opacity: .4;
    transition: all ease .4s
}

.service-style4:hover .service-icon,
.service-style3:hover .service-icon {
    background-color: var(--theme-color)
}

.service-style4:hover .service-number,
.service-style3:hover .service-number {
    opacity: 1
}

.service-style3 .service-text {
    margin-bottom: 22px
}

.service-style4 {
    min-height: 300px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.service-style4 .service-title {
    margin-bottom: -0.3em
}

.service-img-style1 {
    box-shadow: 0 10px 50px 0 rgba(0, 0, 0, .08);
    overflow: hidden
}

.service-img-style1 img {
    width: 100%;
    transition: all ease .4s;
    transform: scale(1.001)
}

.service-img-style1:hover img {
    transform: scale(1.2)
}

.service-bottom-text1 {
    line-height: 1;
    margin-top: 60px;
    margin-bottom: 27px;
    text-align: center
}

.thumb-style1 {
    margin-bottom: 30px;
    position: relative
}

.thumb-style1::before {
    content: "";
    position: absolute;
    top: -30px;
    bottom: -30px;
    right: -30px;
    width: 563px;
    background-color: var(--theme-color);
    clip-path: polygon(75px 0%, 100% 0, 100% 100%, 0% 100%)
}

.thumb-style1 .slick-arrow {
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    opacity: 1;
    width: 100%;
    height: 50px;
    line-height: 1;
    margin: 0 0 20px 0;
    font-size: 18px;
    position: relative;
    transform: none;
    visibility: visible;
    background-color: rgba(0, 0, 0, 0);
    color: var(--white-color);
    border: 2px solid var(--white-color)
}

.thumb-style1 .slick-arrow:hover {
    background-color: var(--white-color);
    color: var(--theme-color)
}

.thumb-style1 .slick-next {
    margin: 0
}

@media(min-width: 1199px) {
    .thumb-style1 .slick-next i::before {
        content: ""
    }

    .thumb-style1 .slick-prev i::before {
        content: ""
    }
}

.thumb-style1 .thumb-item {
    display: flex;
    align-items: center;
    background-color: var(--white-color);
    padding: 10px;
    margin-bottom: 20px;
    transition: all ease .4s;
    cursor: pointer
}

.thumb-style1 .thumb-item:hover {
    background-color: var(--title-color)
}

.thumb-style1 .thumb-item:hover .thumb-title {
    color: var(--white-color)
}

.thumb-style1 .thumb-img {
    margin-right: 20px
}

.thumb-style1 .thumb-title {
    flex: 1;
    margin-bottom: 0;
    transition: all ease .4s
}

.service-details {
    padding: 40px 40px 10px 40px;
    box-shadow: 0 10px 50px 0 rgba(0, 0, 0, .08)
}

.service-details .service-image {
    margin-bottom: 30px
}

.service-details .service-image img {
    width: 100%
}

.service-details .service-title {
    margin-bottom: 23px
}

@media(max-width: 1500px) {
    .service-style2 {
        padding: 20px 20px
    }

    .service-style2 .service-img {
        margin-right: 20px
    }

    .service-style2 .service-icon {
        width: 50px;
        height: 50px;
        line-height: 39px;
        padding: 5px
    }

    .service-style2 .service-icon img {
        max-width: 80%
    }

    .service-style2 .service-top {
        margin-bottom: 10px
    }

    .service-style2 .service-title {
        font-size: 24px;
        margin-bottom: 10px
    }

    .service-style2 .service-list li {
        font-size: 14px;
        line-height: 1.2;
        margin-bottom: 10px
    }

    .service-style2 .service-list li img {
        top: 2px
    }

    .thumb-style1 .thumb-title {
        font-size: 18px
    }

    .thumb-style1 .thumb-img {
        margin-right: 15px
    }
}

@media(max-width: 1199px) {
    .service-style2 .service-img {
        max-width: 300px
    }

    .service-details {
        padding: 40px 20px 10px 20px
    }

    .thumb-style1 {
        overflow: hidden;
        text-align: right
    }

    .thumb-style1 .slick-list {
        margin-left: -5px;
        margin-right: -5px;
        text-align: left
    }

    .thumb-style1::before {
        display: none
    }

    .thumb-style1 .thumb-item {
        margin: 0 5px;
        margin-bottom: 0;
        padding: 10px 10px
    }

    .thumb-style1 .slick-arrow {
        width: calc(50% - 5px);
        margin-top: 10px
    }

    .thumb-style1 .slick-arrow.slick-prev {
        top: auto;
        right: auto;
        left: 0;
        bottom: 0;
        position: absolute;
        margin: 0
    }
}

@media(max-width: 767px) {
    .service-style1 .service-body {
        margin-top: -20px
    }

    .service-style2 {
        display: block;
        padding: 20px 15px 30px 15px
    }

    .service-style2 .service-img {
        margin-right: 0;
        width: 100%;
        max-width: 100%;
        margin-bottom: 20px
    }

    .service-style2 .service-img img {
        width: 100%
    }

    .service-style2 .service-icon {
        width: 60px;
        height: 60px;
        line-height: 49px
    }

    .service-style2 .service-title {
        font-size: 20px
    }

    .service-style2 .service-list {
        display: block;
        margin-bottom: 30px
    }

    .service-style2 .service-list li {
        margin-bottom: 15px
    }

    .thumb-style1 .thumb-item {
        display: block;
        text-align: center
    }

    .thumb-style1 .thumb-img {
        margin-bottom: 10px;
        margin-right: 0;
        max-width: 100%
    }

    .thumb-style1 .thumb-title {
        font-size: 16px
    }

    .service-style4,
    .service-style3 {
        padding: 40px 20px 40px 20px
    }

    .service-style4 .service-icon,
    .service-style3 .service-icon {
        width: 70px;
        height: 70px;
        line-height: 70px
    }

    .service-style4 .service-icon img,
    .service-style3 .service-icon img {
        max-width: 40px
    }

    .service-style4 {
        min-height: 200px
    }

    .service-style4 .service-number {
        margin-bottom: 0
    }

    .service-bottom-text1 {
        margin-top: 30px
    }
}

.testi-shape1 {
    position: absolute;
    right: 70px;
    bottom: 80px
}

.testi-shape2 {
    position: absolute;
    right: 0;
    bottom: 0
}

.testi-style1 {
    max-width: 690px;
    margin: 0 auto 60px auto
}

.testi-style1 .slick-arrow {
    opacity: 1;
    visibility: visible;
    left: auto;
    top: auto;
    bottom: 0;
    right: 30px;
    margin: 0 0 -30px 0
}

.testi-style1 .slick-arrow.slick-prev {
    right: 100px
}

.testi-style1 .testi-inner {
    background-color: var(--smoke-color);
    padding: 40px 40px 0 40px;
    display: flex
}

.testi-style1 .testi-body {
    flex: 1;
    padding-top: 25px
}

.testi-style1 .testi-author {
    padding: 0 70px 0 0;
    position: relative
}

.testi-style1 .testi-rating {
    position: absolute;
    bottom: 75px;
    left: 20px;
    background-color: var(--theme-color);
    padding: 15px 20px 15px 15px
}

.testi-style1 .testi-star {
    color: var(--yellow-color);
    font-size: 14px;
    letter-spacing: 5px;
    line-height: 1;
    margin-bottom: 13px
}

.testi-style1 .testi-name {
    color: var(--white-color);
    margin: 0;
    line-height: 1;
    font-weight: 700;
    font-family: var(--title-font);
    font-size: 20px
}

.testi-style1 .testi-top {
    display: flex;
    margin-bottom: 23px
}

.testi-style1 .testi-icon {
    color: var(--theme-color);
    font-size: 50px;
    display: inline-block;
    line-height: 1;
    margin-right: 15px
}

.testi-style1 .testi-title {
    font-weight: 600;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 6px
}

.testi-style1 .testi-label {
    font-weight: 500;
    font-size: 14px;
    margin: 0 0 0 0
}

.testi-style2 {
    text-align: center;
    padding: .1px 15px 53px 15px;
    border: 2px solid var(--border-color);
    margin: 50px 0 30px 0
}

.testi-style2 .slick-arrow {
    --pos-x: -45px
}

.testi-style2 .avater {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    margin: 8px 10px;
    transition: all ease .4s;
    cursor: pointer;
    transform: scale(0.6);
    transform-origin: center center;
    position: relative
}

.testi-style2 .vs-slick-prevto .avater,
.testi-style2 .vs-slick-nextto .avater {
    transform: scale(0.85);
    z-index: 1
}

.testi-style2 .vs-slick-prev .avater,
.testi-style2 .vs-slick-next .avater {
    z-index: 2;
    transform: scale(1)
}

.testi-style2 .slick-center .avater {
    z-index: 3;
    transform: scale(1.15)
}

.testi-style2 .avater-area {
    width: 510px;
    max-width: 100%;
    margin: -53px auto 36px auto
}

.testi-style2 .testi-name {
    font-size: 24px;
    line-height: 1;
    margin-bottom: 9px
}

.testi-style2 .testi-text {
    margin-left: auto;
    margin-right: auto;
    max-width: 940px
}

.testi-style2 .testi-degi {
    font-size: 14px;
    line-height: 1;
    margin-bottom: 32px
}

.testi-style2 .testi-rating {
    color: var(--yellow-color);
    font-size: 16px;
    letter-spacing: 5px
}

.avater-style1 {
    background-color: var(--theme-color);
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 25px;
    padding: 65px;
    justify-content: center;
    align-items: center;
    transform: rotate(45deg);
    width: 490px;
    height: 490px;
    margin-top: -18px;
    margin-bottom: 12px
}

.avater-style1 .avater {
    background-color: var(--white-color);
    overflow: hidden;
    position: relative;
    cursor: pointer
}

.avater-style1 .avater::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    border: 5px solid rgba(0, 0, 0, 0);
    z-index: 1;
    transition: all ease .4s
}

.avater-style1 .avater img {
    width: 100%;
    transform: rotate(-45deg) scale(1.41)
}

.avater-style1 .avater.active:before,
.avater-style1 .avater:hover:before {
    border-color: var(--white-color)
}

.testi-style3 .testi-text {
    font-weight: 500;
    font-family: var(--title-font);
    font-size: 24px;
    line-height: 1.45;
    margin-bottom: 36px
}

.testi-style3 .testi-rating {
    color: var(--yellow-color);
    font-size: 18px;
    letter-spacing: 5px;
    margin-bottom: 11px
}

.testi-style3 .testi-name {
    margin-bottom: 6px
}

.testi-style3 .testi-degi {
    font-size: 18px;
    margin-bottom: 0
}

.testi-style3 .slick-arrow {
    top: auto;
    left: auto;
    right: 0;
    bottom: 8px;
    margin: 0;
    opacity: 1;
    visibility: visible
}

.testi-style3 .slick-prev {
    right: 70px
}

@media(max-width: 1500px) {
    .avater-style1 {
        transform: rotate(0);
        padding: 80px;
        gap: 40px;
        margin: 0;
        width: 90%;
        height: auto;
        justify-content: stretch
    }

    .avater-style1 .avater img {
        transform: rotate(0)
    }
}

@media(max-width: 1399px) {
    .avater-style1 {
        padding: 60px;
        gap: 20px;
        width: 100%
    }

    .testi-style3 .testi-text {
        font-size: 20px;
        margin-bottom: 20px
    }
}

@media(max-width: 1199px) {
    .testi-style1 {
        max-width: 100%;
        margin-bottom: 30px
    }

    .testi-style1 .testi-author {
        max-width: 230px;
        padding: 0 30px 0 0;
        margin: 0 auto
    }

    .testi-style1 .testi-inner {
        padding: 20px 20px 0 20px
    }

    .testi-style1 .testi-rating {
        left: 0;
        text-align: center;
        width: -moz-max-content;
        width: max-content;
        max-width: 100%;
        bottom: 30px
    }

    .testi-style1 .testi-name {
        font-size: 16px
    }

    .avater-style1 {
        padding: 20px;
        gap: 10px
    }
}

@media(max-width: 991px) {
    .avater-style1 {
        margin-bottom: 40px;
        grid-template-columns: repeat(4, auto)
    }

    .testi-style3 .testi-text {
        font-size: 16px
    }
}

@media(max-width: 767px) {
    .testi-style1 .testi-author {
        padding: 0
    }

    .testi-style1 .testi-body {
        padding-top: 0
    }

    .testi-style1 .testi-inner {
        flex-direction: column-reverse;
        text-align: center;
        padding: 35px 15px 0 15px
    }

    .testi-style1 .testi-top {
        margin-bottom: 10px;
        display: block
    }

    .testi-style1 .testi-title {
        margin-bottom: 8px
    }

    .testi-style1 .testi-icon {
        margin-bottom: 20px
    }

    .testi-style1 .testi-rating {
        bottom: 20px;
        left: 50%;
        transform: translateX(-60%)
    }

    .testi-style2 {
        padding: .1px 15px 30px 15px
    }

    .testi-style2 .testi-degi {
        margin-bottom: 15px
    }

    .testi-style2 .avater {
        width: 70px;
        height: 70px
    }

    .testi-style2 .avater-area {
        margin-bottom: 20px
    }

    .testi-style2 .avater-area {
        width: 285px;
        margin: -45px auto 26px auto
    }
}

.form-style1 {
    background-color: var(--theme-color);
    max-width: 390px;
    margin-left: auto;
    padding: 46px 50px 50px 50px;
    position: relative;
    margin-bottom: -160px
}

.form-style1 .form_title {
    color: var(--white-color);
    font-size: 24px;
    margin-bottom: 22px
}

.form-style1 select,
.form-style1 input {
    height: 60px;
    background-color: var(--white-color);
    padding: 0 20px
}

.form-style1 .form-group {
    margin-bottom: 20px
}

.form-style1 .vs-btn {
    width: 100%
}

.form-style1 .vs-btn:hover {
    color: var(--title-color)
}

.form-style1 .vs-btn:after,
.form-style1 .vs-btn:before {
    background-color: var(--white-color)
}

.form-style2 {
    box-shadow: -6px 6px 50px 0 rgba(0, 0, 0, .06);
    padding: 50px 70px 45px 70px;
    margin-top: -120px;
    position: relative;
    z-index: 91;
    background-color: var(--white-color)
}

.form-style2 .form-title {
    margin-top: -0.2em;
    margin-bottom: 30px
}

.form-style3 {
    display: flex;
    width: 100%;
    max-width: 370px
}

.form-style3 input {
    flex: 1;
    background-color: var(--white-color)
}

.form-style3 button {
    width: 145px;
    padding-left: 0;
    padding-right: 0
}

.form-style3 button::before,
.form-style3 button:after {
    background: var(--white-color)
}

.form-style3 button:hover {
    color: var(--title-color)
}

.form-style4 {
    padding: 40px;
    box-shadow: 0 10px 50px 0 rgba(0, 0, 0, .08)
}

.form-style4 .form-title {
    margin-bottom: 40px
}

.form-style4 .form-group i {
    right: calc(var(--bs-gutter-x)/2 + 10px)
}

.form-style5 select,
.form-style5 textarea,
.form-style5 input {
    height: 55px;
    font-size: 14px;
    border-radius: 0;
    background-color: var(--white-color)
}

.form-style5 .form-group {
    --bs-gutter-x: 10px
}

.form-style5 .form-group i {
    right: 22px
}

.form-style5 .vs-btn {
    width: 100%
}

.form-style6 {
    background-color: var(--white-color);
    box-shadow: 0 10px 50px 0 rgba(0, 0, 0, .08);
    padding: 60px 40px;
    margin-top: 50px
}

.form-style6 .row {
    --bs-gutter-x: 20px
}

.form-style6 .form_title {
    text-align: center;
    margin: -0.22em 0 24px 0
}

.form-style6 .form-btn {
    padding-top: 10px;
    text-align: center
}

.form-style6 .form-group>i {
    color: var(--title-color)
}

@media(max-width: 1500px) {
    .form-style1 {
        max-width: 100%;
        margin-bottom: 0
    }

    .form-style2 {
        padding: 40px 40px 15px 40px;
        margin-top: var(--section-space)
    }
}

@media(max-width: 991px) {
    .form-style3 {
        max-width: 100%
    }

    .form-style2 {
        padding: 40px 40px 15px 40px;
        margin-top: var(--section-space-mobile)
    }

    .form-style6 {
        padding: 40px 20px;
        margin-top: 25px
    }
}

@media(max-width: 767px) {
    .form-style1 {
        padding: 20px 15px 20px 15px
    }

    .form-style2 {
        padding: 40px 15px 40px 15px;
        margin-top: var(--section-space-mobile)
    }

    .form-style4 {
        padding: 40px 15px
    }
}

.package-style1 {
    padding: 40px 40px 50px 40px;
    background-color: var(--white-color);
    position: relative;
    margin: 0 0 45px 15px;
    box-shadow: 0 10px 50px 0 rgba(0, 0, 0, .08)
}

.package-style1:before {
    content: "";
    position: absolute;
    left: -15px;
    right: 1px;
    bottom: -15px;
    top: 160px;
    z-index: -1;
    background-color: #f2edeb;
    transition: all ease .4s
}

.package-style1 .package-top {
    display: flex;
    align-items: center;
    padding-bottom: 32px
}

.package-style1 .package-price {
    position: relative;
    z-index: 1;
    margin: 0 25px 0 15px;
    text-align: center;
    padding: 20px 15px 30px 15px
}

.package-style1 .package-price:after,
.package-style1 .package-price::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background-color: var(--title-color);
    transition: all ease .4s;
    z-index: -1
}

.package-style1 .package-price:before {
    bottom: 0;
    clip-path: polygon(100% 0, 100% calc(100% - 15px), 50% 100%, 0 calc(100% - 15px), 0 0)
}

.package-style1 .package-price:after {
    right: -15px;
    left: -15px;
    height: 15px;
    clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 100%, 0 100%)
}

.package-style1 .package-price .duration,
.package-style1 .package-price .price {
    font-size: 32px;
    color: var(--white-color);
    display: block;
    line-height: 1;
    font-weight: 700
}

.package-style1 .package-price .duration {
    font-size: 18px;
    margin-top: 6px
}

.package-style1 .package-name {
    font-size: 24px;
    border-bottom: 4px solid #d8dde1;
    margin-bottom: 0;
    padding-bottom: 10px;
    line-height: 1
}

.package-style1 .package-list {
    padding: 0;
    margin: 0 0 41px 0;
    list-style-type: none
}

.package-style1 .package-list li {
    color: dimgray;
    position: relative;
    padding-left: 24px;
    margin-bottom: 9px
}

.package-style1 .package-list li i {
    position: absolute;
    left: 0;
    top: 6px
}

.package-style1 .package-list li.disable {
    opacity: .45
}

.package-style1 .package-btn {
    background-color: #d8dde1;
    width: 100%;
    color: var(--title-color)
}

.package-style1:hover::before,
.package-style1.active::before {
    background-color: var(--theme-color)
}

.package-style1:hover .package-price::before,
.package-style1:hover .package-price::after,
.package-style1.active .package-price::before,
.package-style1.active .package-price::after {
    background-color: var(--theme-color)
}

.package-style1:hover .package-btn,
.package-style1.active .package-btn {
    background-color: var(--theme-color);
    color: var(--white-color)
}

@media(max-width: 1199px) {
    .package-style1 {
        padding: 0px 20px 50px 20px
    }

    .package-style1 .package-list li {
        margin-bottom: 5px;
        font-size: 14px
    }

    .package-style1 .package-price {
        margin: 0 20px 0 -20px;
        padding: 15px 10px 20px 10px
    }

    .package-style1 .package-price:after {
        right: -10px;
        left: 0
    }

    .package-style1 .package-price .price {
        font-size: 24px
    }

    .package-style1 .package-price .duration {
        font-size: 16px
    }

    .package-style1 .package-name {
        font-size: 20px
    }

    .package-style1 .package-list {
        margin: 0 0 31px 0
    }

    .package-style1 .vs-btn {
        font-size: 14px;
        padding: 17px 10px
    }
}

.gallery-shape1 {
    position: absolute;
    left: 0;
    top: -24px
}

.gallery-shape2 {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 535px;
    clip-path: polygon(230px 0%, 100% 0, 100% 100%, 0 100%, 0% 190px);
    background-color: var(--title-color)
}

.gallery-shape3 {
    position: absolute;
    left: 0;
    top: 20.1%
}

.gallery-style3 .gallery-content,
.gallery-style1 .gallery-content {
    position: absolute;
    left: 50px;
    bottom: 50px;
    z-index: 2;
    transition: all ease .4s
}

.gallery-style3 .gallery-label,
.gallery-style1 .gallery-label {
    background-color: var(--theme-color);
    color: var(--white-color);
    display: inline-block;
    line-height: 1;
    font-family: var(--title-font);
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    padding: 13px 21px
}

.gallery-style3 .gallery-title,
.gallery-style1 .gallery-title {
    background-color: var(--white-color);
    color: var(--title-color);
    display: block;
    max-width: -moz-max-content;
    max-width: max-content;
    padding: 15px 20px
}

.gallery-style3 .gallery-title,
.gallery-style3 .gallery-label,
.gallery-style1 .gallery-title,
.gallery-style1 .gallery-label {
    transition: all ease .4s;
    transform: translateY(20px);
    opacity: 0;
    visibility: hidden
}

.gallery-style1:hover .gallery-title,
.gallery-style1:hover .gallery-label,
.gallery-style3 .gallery-item:hover .gallery-title,
.gallery-style3 .gallery-item:hover .gallery-label,
.gallery-style3 .gallery-item.active .gallery-title,
.gallery-style3 .gallery-item.active .gallery-label {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.gallery-style1:hover .gallery-title,
.gallery-style3 .gallery-item:hover .gallery-title,
.gallery-style3 .gallery-item.active .gallery-title {
    transition-delay: .1s
}

.gallery-style1 {
    position: relative;
    margin-bottom: 30px
}

.gallery-style1 .gallery-img {
    overflow: hidden
}

.gallery-style1 .gallery-img img {
    width: 100%;
    transition: all ease .4s;
    transform: scale(1.004)
}

.gallery-style1:hover .gallery-img img {
    transform: scale(1.1)
}

.gallery-style1 .gallery-title {
    margin-bottom: 0
}

.gallery-style1.layout2:hover .gallery-content {
    left: 40px;
    bottom: 40px
}

.gallery-style2 {
    position: relative;
    margin-bottom: 30px
}

.gallery-style2 .gallery-img {
    overflow: hidden;
    position: relative
}

.gallery-style2 .gallery-img img {
    width: 100%;
    transform: scale(1.001) rotate(0);
    transition: all ease .4s
}

.gallery-style2 .gallery-img::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 154px;
    height: 170px;
    background-color: var(--theme-color);
    clip-path: polygon(0 0, 0 100%, 100% 100%);
    transition: all ease .4s;
    transform: translate(-20px, 50px);
    opacity: 0;
    visibility: hidden;
    display: inline-block;
    z-index: 1
}

.gallery-style2 .gallery-label,
.gallery-style2 .gallery-title {
    background-color: var(--white-color);
    line-height: 1;
    transition: all ease .4s;
    margin: 0;
    transform: translateY(20px);
    opacity: 0;
    visibility: hidden
}

.gallery-style2 .gallery-title {
    font-size: 20px;
    padding: 9px 17.5px
}

.gallery-style2 .gallery-label {
    font-size: 14px;
    color: var(--title-color);
    padding: 10px 17.5px;
    display: inline-block;
    margin-bottom: 10px
}

.gallery-style2 .gallery-content {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 35px;
    z-index: 2
}

.gallery-style2:hover .gallery-title,
.gallery-style2:hover .gallery-label {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.gallery-style2:hover .gallery-title {
    transition-delay: .1s
}

.gallery-style2:hover .gallery-img img {
    transform: scale(1.1) rotate(3deg)
}

.gallery-style2:hover .gallery-img::before {
    opacity: 1;
    visibility: visible;
    transform: translate(-2px, 2px)
}

.gallery-style3 {
    display: flex;
    gap: 30px
}

.gallery-style3 .icon-btn {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    width: 70px;
    height: 70px;
    line-height: 70px;
    font-size: 26px;
    border-radius: 0;
    background-color: var(--theme-color);
    color: var(--white-color);
    text-align: center;
    transition: all ease .4s;
    opacity: 0;
    visibility: hidden;
    transform: translate(30px, -30px)
}

.gallery-style3 .icon-btn:after,
.gallery-style3 .icon-btn:before {
    content: "";
    position: absolute;
    top: var(--shape-width, -7px);
    right: var(--shape-width, -7px);
    bottom: var(--shape-width, -7px);
    left: var(--shape-width, -7px);
    background-color: var(--white-color);
    z-index: -1;
    border-radius: 0;
    transition: all ease .4s
}

.gallery-style3 .icon-btn:after {
    --shape-width: 0;
    background-color: var(--theme-color);
    border-radius: 0
}

.gallery-style3 .icon-btn:hover:after {
    background-color: var(--title-color)
}

.gallery-style3 .gallery-img {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    transition: all ease .4s
}

.gallery-style3 .gallery-title {
    margin: 0
}

.gallery-style3 .gallery-content {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 40px 40px
}

.gallery-style3 .gallery-item {
    position: relative;
    width: 15%;
    height: 478px;
    overflow: hidden;
    transition: all ease .4s
}

.gallery-style3 .gallery-item.active {
    width: 40%
}

.gallery-style3 .gallery-item:hover .icon-btn,
.gallery-style3 .gallery-item.active .icon-btn {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
    transition-delay: .25s
}

.gallery-style3 .gallery-item:hover .gallery-title,
.gallery-style3 .gallery-item:hover .gallery-label,
.gallery-style3 .gallery-item.active .gallery-title,
.gallery-style3 .gallery-item.active .gallery-label {
    transition-delay: .2s
}

.gallery-style3 .gallery-item:hover .gallery-title,
.gallery-style3 .gallery-item.active .gallery-title {
    transition-delay: .25s
}

.project-meta-box {
    background-color: var(--secondary-color);
    padding: 40px;
    width: 330px;
    max-width: 100%;
    margin-bottom: 40px
}

.project-meta-box .box-title {
    position: relative;
    margin-top: -0.2rem;
    padding-bottom: 14px;
    margin-bottom: 23px
}

.project-meta-box .box-title:after,
.project-meta-box .box-title:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: var(--theme-color);
    width: 40px;
    height: 1px;
    z-index: 2
}

.project-meta-box .box-title:after {
    z-index: 1;
    width: 100%;
    background-color: var(--border-color)
}

.project-meta-box .info-label {
    font-size: 14px;
    display: block;
    line-height: 1;
    margin-bottom: 13px
}

.project-meta-box .info-text {
    font-size: 18px;
    font-weight: 600;
    color: var(--title-color);
    line-height: 1;
    font-family: var(--title-font);
    margin-bottom: 0
}

.project-meta-box .info-item:not(:last-child) {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 18px;
    margin-bottom: 23px
}

.project-details-wrapper p {
    margin-bottom: 25px
}

.project-details-wrapper h1,
.project-details-wrapper h2,
.project-details-wrapper h3,
.project-details-wrapper h4,
.project-details-wrapper h5,
.project-details-wrapper h6 {
    margin-bottom: 21px
}

.project-details-wrapper ol,
.project-details-wrapper ul {
    margin-bottom: 33px
}

@media(max-width: 1500px) {

    .gallery-style3 .gallery-content,
    .gallery-style1 .gallery-content {
        left: 25px;
        bottom: 15px
    }

    .gallery-style3 .gallery-title,
    .gallery-style1 .gallery-title {
        padding: 9px 15px;
        font-size: 18px
    }

    .gallery-style3 .gallery-label,
    .gallery-style1 .gallery-label {
        font-size: 12px;
        padding: 10px 13px
    }

    .gallery-style1.layout2:hover .gallery-content {
        left: 20px;
        bottom: 20px
    }

    .gallery-style2 .gallery-content {
        padding: 20px
    }

    .gallery-style2 .gallery-title {
        font-size: 20px
    }

    .gallery-style3 .gallery-content {
        left: 0;
        bottom: 0;
        padding: 30px
    }

    .gallery-style3 .gallery-title {
        padding: 7px 15px;
        font-size: 16px
    }

    .gallery-style3 .icon-btn {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 20px;
        --shape-width: -5px
    }
}

@media(max-width: 991px) {
    .gallery-style2 .gallery-content {
        padding: 20px
    }

    .gallery-style2 .gallery-title {
        font-size: 20px
    }

    .gallery-style3 {
        display: grid;
        gap: 15px;
        grid-template-columns: repeat(2, 1fr)
    }

    .gallery-style3 .gallery-item {
        width: 100%;
        height: 300px
    }

    .gallery-style3 .gallery-item.active {
        width: 100%
    }

    .gallery-style3 .gallery-content {
        padding: 15px
    }
}

@media(max-width: 991px) {
    .project-meta-box {
        width: 100%
    }
}

@media(max-width: 767px) {

    .gallery-style3 .gallery-title,
    .gallery-style1 .gallery-title {
        padding: 6px 12px;
        font-size: 16px
    }

    .gallery-style3 .gallery-label,
    .gallery-style1 .gallery-label {
        font-size: 11px;
        padding: 7px 10px
    }

    .gallery-style1 .gallery-content {
        left: 15px;
        bottom: 5px
    }

    .gallery-style3 {
        grid-template-columns: repeat(1, 1fr)
    }

    .project-meta-box {
        padding: 30px 20px
    }
}

.process-shape1 {
    position: absolute;
    right: 0;
    bottom: 0
}

.process-style1 {
    position: relative;
    text-align: center;
    background-color: var(--secondary-color);
    padding: 30px 30px 22px 30px;
    margin: 25px 0 50px 20px
}

.process-style1:before {
    content: "";
    position: absolute;
    left: -20px;
    top: 30px;
    right: 25px;
    bottom: -20px;
    border: 1px solid var(--border-color);
    z-index: -1;
    transition: all ease .4s
}

.process-style1 .process-number {
    position: absolute;
    left: 20px;
    top: -25px;
    font-size: 24px;
    font-weight: 700;
    background-color: var(--title-color);
    transition: all ease .4s;
    color: var(--white-color);
    width: 50px;
    height: 45px;
    line-height: 45px;
    display: inline-block
}

.process-style1 .process-number:before {
    content: "";
    position: absolute;
    right: -10px;
    top: 0;
    height: 25px;
    width: 10px;
    clip-path: polygon(0 0, 0 100%, 100% 100%);
    background-color: inherit;
    display: inline-block
}

.process-style1 .process-icon {
    margin-bottom: 25px
}

.process-style1 .process-name {
    font-size: 22px;
    margin-bottom: 10px
}

.process-style1 .process-text {
    margin-bottom: 0
}

.process-style1:hover::before {
    border-color: var(--theme-color)
}

.process-style1:hover .process-number {
    background-color: var(--theme-color)
}

@media(max-width: 1199px) {
    .process-style1 {
        margin: 15px 0 50px 15px;
        padding: 30px 15px 28px 15px
    }

    .process-style1:before {
        left: -15px;
        top: 15px;
        right: 20px;
        bottom: -15px
    }
}

.counter-inner1 {
    padding: 70px 70px 40px 70px
}

.counter-style1 {
    text-align: center;
    position: relative;
    padding: 24px 15px 24px 15px;
    width: 220px;
    max-width: 100%;
    margin-bottom: 30px
}

.counter-style1:after,
.counter-style1::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: calc(50% - 23px);
    border-width: 2px 2px 0 2px;
    border-style: solid;
    border-color: var(--white-color);
    transition: all ease .4s
}

.counter-style1:after {
    top: auto;
    bottom: 0;
    border-width: 0 2px 2px 2px
}

.counter-style1:Hover::before,
.counter-style1:Hover:after {
    height: 50%
}

.counter-style1 .counter-icon {
    margin-bottom: 18px
}

.counter-style1 .counter-number {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    color: var(--white-color);
    margin-bottom: 13px
}

.counter-style1 .counter-text {
    font-size: 18px;
    font-family: var(--title-font);
    font-weight: 600;
    color: var(--white-color);
    margin-bottom: 0;
    line-height: 1
}

@media(max-width: 1500px) {
    .counter-style1 {
        width: 100%
    }

    .counter-style1 .counter-icon {
        margin-bottom: 13px
    }

    .counter-style1 .counter-number {
        font-size: 30px
    }

    .counter-style1 .counter-text {
        font-size: 16px
    }
}

@media(max-width: 767px) {
    .counter-inner1 {
        padding: var(--section-space-mobile) 15px calc(var(--section-space-mobile) - 30px) 15px
    }
}

.accordion-item .accordion-button:after {
    display: none
}

.accordion-item .accordion-button:focus {
    outline: none;
    box-shadow: none;
    background-color: rgba(0, 0, 0, 0)
}

.accordion-collapse {
    border: none
}

.accordion-body {
    padding: 0
}

.accordion-body p:last-child {
    margin-bottom: 0
}

.accordion-inner1 {
    width: 720px;
    max-width: 100%;
    padding: 90px 60px;
    background-color: var(--secondary-color)
}

.accordion-shape1 {
    height: 100%;
    background-color: var(--theme-color);
    width: 292px;
    max-width: 100%
}

.accordion-style1 .accordion-item {
    background-color: var(--white-color);
    margin-bottom: 30px;
    transition: all ease .4s
}

.accordion-style1 .accordion-item:last-child {
    margin-bottom: 0
}

.accordion-style1 .accordion-button {
    font-size: 20px;
    font-family: var(--title-font);
    font-weight: 700;
    color: var(--title-color);
    background-color: rgba(0, 0, 0, 0);
    border: none;
    padding: 16px 33px 16px 20px;
    text-align: left;
    transition: all ease .4s
}

.accordion-style1 .accordion-button::before {
    content: "";
    font-family: var(--icon-font);
    background-color: var(--body-color);
    position: absolute;
    right: 20px;
    top: 50%;
    width: 22px;
    height: 22px;
    line-height: 22px;
    margin-top: -11px;
    border-radius: 50%;
    color: var(--white-color);
    font-size: 14px;
    transition: all ease .4s;
    text-align: center
}

.accordion-style1 .accordion-button.collapsed::before {
    content: "";
    background-color: var(--theme-color)
}

.accordion-style1 .accordion-button:hover {
    background-color: var(--theme-color);
    color: var(--white-color)
}

.accordion-style1 .accordion-button:hover:before {
    color: var(--title-color);
    background-color: var(--white-color)
}

.accordion-style1 .accordion-body {
    border-top: 1px solid var(--border-color);
    padding: 19px 25px 17px 25px
}

.accordion-style1 .accordion-body p {
    transition: all ease .4s
}

.accordion-style1.layout2 .accordion-item {
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .06)
}

.accordion-style1.layout2 .accordion-item.active {
    background-color: var(--theme-color);
    box-shadow: none
}

.accordion-style1.layout2 .accordion-item.active .accordion-body p,
.accordion-style1.layout2 .accordion-item.active .accordion-button {
    color: var(--white-color)
}

.accordion-style1.layout2 .accordion-item.active .accordion-button::before {
    background-color: var(--white-color);
    color: var(--theme-color)
}

.accordion-style1.layout3 {
    margin: 32px 0 0 0
}

.accordion-style1.layout3 .accordion-item {
    box-shadow: 0 4px 30px 0 rgba(0, 0, 0, .05);
    margin-bottom: 20px
}

.accordion-style1.layout3 .accordion-item:last-child {
    margin-bottom: 30px
}

.accordion-style1.layout3 .accordion-button {
    font-weight: 600;
    font-size: 18px
}

.accordion-style1.layout3 .accordion-button:before {
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 11px
}

@media(max-width: 1500px) {
    .accordion-shape1 {
        display: none
    }
}

@media(max-width: 1199px) {
    .accordion-inner1 {
        width: 100%;
        margin: 0;
        padding: var(--section-space) 40px
    }
}

@media(max-width: 767px) {
    .accordion-style1 .accordion-button {
        font-size: 16px;
        line-height: 1.3
    }

    .accordion-style1 .accordion-button:before {
        width: 20px;
        height: 20px;
        line-height: 20px;
        font-size: 11px;
        right: 10px
    }

    .accordion-inner1 {
        padding: var(--section-space-mobile) 15px
    }
}

.team-shape1 {
    position: absolute;
    left: 0;
    top: 0
}

.team-style1 {
    margin-bottom: 30px
}

.team-style1 .team-img {
    padding: 15px;
    position: relative;
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
    max-width: 350px
}

.team-style1 .team-img .team-social,
.team-style1 .team-img:after,
.team-style1 .team-img::before,
.team-style1 .team-img img {
    clip-path: polygon(0 var(--clip-gap, 80px), 50% 0, 100% var(--clip-gap, 80px), 100% calc(100% - var(--clip-gap, 80px)), 51% 100%, 0 calc(100% - var(--clip-gap, 80px)));
    left: var(--border-size, 0);
    right: var(--border-size, 0);
    top: var(--border-size, 0);
    bottom: var(--border-size, 0)
}

.team-style1 .team-img img {
    position: relative;
    width: 100%;
    z-index: 3
}

.team-style1 .team-img:after,
.team-style1 .team-img::before {
    content: "";
    position: absolute;
    background-color: var(--white-color);
    z-index: 2;
    display: inline-block;
    --clip-gap: 89px;
    transition: all ease .4s
}

.team-style1 .team-img::after {
    --border-size: 1px
}

.team-style1 .team-img::before {
    z-index: 1;
    background-color: var(--border-color)
}

.team-style1 .team-social {
    position: absolute;
    background-color: rgba(0, 0, 0, 0);
    z-index: 4;
    --border-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all ease .4s
}

.team-style1 .team-social a {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 41px;
    margin-right: 10px;
    border-radius: 50%;
    text-align: center;
    background-color: var(--theme-color);
    color: var(--white-color);
    transition: all ease .4s;
    transform: translateY(20px);
    opacity: 0;
    visibility: hidden
}

.team-style1 .team-social a:hover {
    background-color: var(--white-color);
    color: var(--theme-color)
}

.team-style1 .team-social a:last-child {
    margin-right: 0
}

.team-style1 .team-social a:nth-child(2) {
    transition-delay: .1s
}

.team-style1 .team-social a:nth-child(3) {
    transition-delay: .15s
}

.team-style1 .team-social a:nth-child(4) {
    transition-delay: .2s
}

.team-style1 .team-content {
    text-align: center
}

.team-style1 .team-name {
    font-size: 20px;
    margin-bottom: 8px
}

.team-style1 .team-degi {
    display: block;
    line-height: 1
}

.team-style1:hover .team-img::before {
    background-color: var(--theme-color)
}

.team-style1:hover .team-social {
    background-color: rgba(22, 23, 26, .7)
}

.team-style1:hover .team-social a {
    opacity: 1;
    visibility: visible;
    transform: translateY(1px)
}

.team-details-img {
    padding: 30px;
    box-shadow: 0 10px 50px 0 rgba(0, 0, 0, .08);
    background-color: var(--white-color);
    margin-bottom: 75px
}

.team-details-img img {
    width: 100%
}

.team-details .team-name {
    margin: -0.2em 0 11px 0;
    font-size: 24px
}

.team-details .team-degi {
    font-size: 16px;
    color: var(--theme-color);
    font-weight: 700;
    line-height: 1;
    margin-bottom: 35px
}

.team-details .team-desc p {
    font-weight: 700;
    margin-top: 33px;
    margin-bottom: 25px
}

.team-details .team-contact {
    border: none
}

.team-details .team-contact th,
.team-details .team-contact td {
    padding: 0 0 15px 0;
    border: none
}

.team-details .team-contact th {
    font-family: var(--title-font);
    color: var(--title-color);
    font-weight: 600;
    font-size: 18px
}

.team-details .team-contact td {
    font-weight: 700
}

.team-details .team-contact a {
    color: inherit
}

.team-details .team-contact a:Hover {
    color: var(--theme-color)
}

.team-details p {
    margin-bottom: 25px
}

.team-details h1,
.team-details h2,
.team-details h3,
.team-details h4,
.team-details h5,
.team-details h6 {
    margin-bottom: 21px
}

.team-details ol,
.team-details ul {
    margin-bottom: 33px
}

@media(max-width: 991px) {
    .team-details-img {
        margin-bottom: 40px;
        padding: 20px
    }

    .team-details .team-degi {
        margin-bottom: 25px
    }

    .team-details .team-desc p {
        margin-top: 23px
    }
}

@media(max-width: 767px) {
    .team-details .team-contact td {
        font-size: 14px
    }

    .team-details .team-contact th {
        width: 38%;
        font-size: 16px
    }
}

.feature-box1 {
    margin-top: 40px;
    background-color: var(--secondary-color);
    border-top: 4px solid var(--theme-color);
    transition: all ease .4s
}

.feature-box1:hover {
    border-top-color: var(--title-color)
}

.feature-style1 {
    padding: 30px 35px 21px 35px;
    position: relative
}

.feature-style1::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    height: 125px;
    margin-top: -62.5px;
    width: 1px;
    background-color: var(--body-color);
    opacity: .4
}

.feature-style1:first-child {
    padding-left: 30px
}

.feature-style1:last-child {
    padding-right: 30px
}

.feature-style1:last-child:before {
    display: none
}

.feature-style1 .feature-icon {
    margin-bottom: 25px
}

.feature-style1 .feature-title {
    font-size: 20px;
    margin-bottom: 8px
}

.feature-style1 .feature-text {
    margin-bottom: 0
}

.feature-style2 {
    background-color: var(--white-color);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    position: relative;
    margin-bottom: 30px
}

.feature-style2 .dot-shape {
    position: absolute;
    left: 50%;
    top: 50%;
    background-color: var(--theme-color);
    width: 12px;
    height: 12px;
    z-index: 1;
    margin: -6px 0 0 -6px
}

.feature-style2 .feature-item {
    display: flex;
    padding: 45px 50px 37px 50px;
    transition: all ease .4s;
    background-color: rgba(0, 0, 0, 0)
}

.feature-style2 .feature-item:hover {
    background-color: var(--title-color)
}

.feature-style2 .feature-item:hover .feature-title,
.feature-style2 .feature-item:hover .feature-text {
    color: var(--white-color)
}

.feature-style2 .feature-icon {
    margin-right: 25px
}

.feature-style2 .feature-content {
    flex: 1
}

.feature-style2 .feature-title {
    margin-top: -0.2em;
    margin-bottom: 12px;
    transition: all ease .4s
}

.feature-style2 .feature-text {
    margin-bottom: 0;
    transition: all ease .4s
}

.feature-style2:after,
.feature-style2::before {
    content: "";
    position: absolute;
    background-color: var(--border-color)
}

.feature-style2::before {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    margin-left: -0.5px
}

.feature-style2:after {
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    margin-top: -0.5px
}

.feature-bg1 {
    display: flex;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0
}

.feature-bg1 .shape-2 {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    line-height: 1;
    padding-left: 20px
}

.feature-bg1 .shape-2:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background-color: var(--theme-color);
    clip-path: polygon(365px 0, 100% 0, 100% 100%, 0 100%)
}

.feature-bg1 .shape-2 img {
    z-index: 2;
    position: relative;
    width: 100%;
    clip-path: polygon(365px 0, 100% 0, 100% 100%, 0 100%)
}

@media(max-width: 1500px) {
    .feature-style1 {
        padding: 15px 20px 20px 15px;
        position: relative
    }

    .feature-style1:first-child {
        padding-left: 15px
    }

    .feature-style1 .feature-icon {
        margin-bottom: 15px;
        max-width: 50px
    }

    .feature-style2 .feature-item {
        padding: 35px 25px 30px 25px
    }
}

@media(max-width: 767px) {
    .feature-style1::before {
        display: none
    }

    .feature-style2 {
        display: block
    }

    .feature-style2::before,
    .feature-style2::after,
    .feature-style2 .dot-shape {
        display: none
    }

    .feature-style2 .feature-item {
        display: block;
        text-align: center;
        border-bottom: 1px solid var(--border-color);
        padding: 30px 20px
    }

    .feature-style2 .feature-icon {
        margin-right: 0;
        margin-bottom: 20px
    }
}

.progress-style3 .progress-status,
.progress-style2 .progress-status,
.progress-style1 .progress-status {
    position: relative;
    height: 10px;
    width: 100%;
    background-color: #d8dde1
}

.progress-style3 .progress-number,
.progress-style3 .progress-title,
.progress-style2 .progress-number,
.progress-style2 .progress-title,
.progress-style1 .progress-number,
.progress-style1 .progress-title {
    font-family: var(--title-font);
    font-size: 16px;
    color: var(--title-color);
    font-weight: 600;
    margin: 0 0 0 0;
    line-height: 1
}

.progress-style3 .progress-title,
.progress-style2 .progress-title,
.progress-style1 .progress-title {
    margin-bottom: 15px
}

.progress-style3 .progress-number,
.progress-style2 .progress-number,
.progress-style1 .progress-number {
    position: absolute;
    top: -33px;
    right: -20px
}

.progress-style3 .progress-bar,
.progress-style2 .progress-bar,
.progress-style1 .progress-bar {
    background-color: var(--theme-color);
    height: 100%;
    position: relative;
    overflow: visible;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.7) 4.55%, var(--theme-color) 4.55%, var(--theme-color) 50%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0.7) 54.55%, var(--theme-color) 54.55%, var(--theme-color) 100%);
    background-size: 44px 44px
}

.progress-style3 .progress-bar:before,
.progress-style2 .progress-bar:before,
.progress-style1 .progress-bar:before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 20px;
    height: 20px;
    border: 5px solid #d8dde1;
    background-color: var(--theme-color);
    border-radius: 50%;
    margin: -10px -10px 0 0
}

.progress-style1 {
    max-width: 570px
}

.progress-style1 .progress-number,
.progress-style1 .progress-title {
    color: var(--white-color)
}

.progress-style2 .progress-item {
    margin-bottom: 40px
}

.progress-style2 .progress-item:last-child {
    margin-bottom: 30px
}

.progress-style3 {
    padding-top: 5px
}

.progress-style3 .progress-number {
    right: 0;
    font-size: 18px;
    font-family: var(--body-font)
}

.progress-style3 .progress-title {
    font-size: 18px
}

.progress-style3 .progress-status {
    height: 8px;
    display: flex;
    align-items: center;
    background-color: var(--white-color);
    border: 1px solid var(--smoke-color);
    padding: 2px
}

.progress-style3 .progress-bar {
    background-image: none;
    height: 2px;
    border-radius: 6px;
    position: static
}

.progress-style3 .progress-bar::before {
    display: none
}

.progress-style3 .progress-item {
    margin-bottom: 30px
}

@media(max-width: 1199px) {
    .progress-style1 {
        max-width: 100%
    }
}

@media(max-width: 767px) {
    .progress-style2 .progress-item {
        margin-bottom: 25px
    }

    .progress-style2 .progress-item:last-child {
        margin-bottom: 30px
    }
}

.cta-box1 {
    padding: 80px 80px 80px 80px;
    margin-bottom: 130px;
    position: relative;
    z-index: 2
}

.cta-box1 .title-area {
    margin-bottom: 0
}

.cta-box2 {
    margin-top: -390px;
    padding-top: 415px;
    padding-bottom: 150px;
    text-align: center;
    position: relative;
    z-index: 1
}

.cta-box2 .play-btn:before,
.cta-box2 .play-btn:after {
    border-color: var(--white-color)
}

.cta-box2 .play-btn:hover i {
    background-color: var(--white-color);
    color: var(--theme-color)
}

.cta-box3 {
    display: flex;
    align-items: center
}

.cta-box3 .cta-content {
    flex: 1
}

.cta-box3 .cta-img {
    margin-left: 88px;
    margin-right: 72px;
    position: relative
}

.cta-box3 .cta-img img {
    clip-path: polygon(0 0, calc(100% - var(--clip-gap, 205px)) 0, 100% 100%, var(--clip-gap, 205px) 100%);
    position: relative;
    z-index: 3
}

.cta-box3 .cta-img:after,
.cta-box3 .cta-img::before {
    content: "";
    position: absolute;
    left: -50px;
    top: 0;
    bottom: 0;
    width: 94%;
    background-color: var(--theme-color);
    clip-path: polygon(0 0, calc(100% - var(--clip-gap, 205px)) 0, 100% 100%, var(--clip-gap, 205px) 100%);
    transform: rotateY(180deg);
    z-index: 2
}

.cta-box3 .cta-img:after {
    opacity: .2;
    left: -90px;
    z-index: 1;
    width: calc(94% + 80px)
}

.cta-box3 .cta-right-img {
    align-self: flex-end
}

.cta-box3 .sec-title {
    color: var(--white-color)
}

.cta-box3 .sec-text {
    color: var(--white-color);
    max-width: 512px
}

@media(max-width: 1500px) {
    .cta-box1 {
        padding: var(--section-space) 45px;
        margin-bottom: 0
    }

    .cta-box2 {
        margin-top: -1px;
        padding-top: var(--section-space);
        padding-bottom: var(--section-space)
    }

    .cta-box3 .cta-img {
        margin-left: 0;
        margin-right: 0;
        max-width: 40%
    }

    .cta-box3 .cta-img::after,
    .cta-box3 .cta-img::before {
        display: none
    }

    .cta-box3 .cta-right-img {
        max-width: 20%
    }
}

@media(max-width: 1199px) {
    .cta-box1 .title-area {
        margin-bottom: 40px
    }

    .cta-box3 .cta-content {
        padding: var(--section-space-mobile) 0
    }

    .cta-box3 .cta-img {
        display: none
    }

    .cta-box3 .cta-right-img {
        max-width: 40%
    }
}

@media(max-width: 991px) {
    .cta-box2 {
        padding-bottom: var(--section-space-mobile);
        padding-top: var(--section-space-mobile)
    }

    .cta-box3 {
        display: block;
        text-align: center
    }

    .cta-box3 .cta-content {
        padding-bottom: 40px
    }

    .cta-box3 .cta-right-img {
        max-width: 100%
    }

    .cta-box1 {
        padding: var(--section-space-mobile) 15px
    }
}

.ticker-style1 .eocjs-newsticker {
    padding: 39px 0;
    background-color: var(--theme-color)
}

.ticker-style1 .eocjs-newsticker-container {
    height: 45px
}

.ticker-style1 .eocjs-newsticker-one,
.ticker-style1 .eocjs-newsticker-two {
    height: 45px;
    line-height: 45px
}

.ticker-style1 span {
    font-size: 36px;
    font-family: var(--title-font);
    font-weight: 700;
    line-height: 45px;
    color: var(--white-color)
}

.ticker-style1 span:nth-child(even) {
    color: rgba(0, 0, 0, 0);
    -webkit-text-stroke: 1px #fff
}

.ticker-style1 span i {
    margin-left: 45px;
    margin-right: 15px;
    -webkit-text-stroke: 1px rgba(0, 0, 0, 0);
    color: var(--white-color)
}

.pb-30 {
    padding-bottom: 30px
}

.pb-1px {
    padding-bottom: 1px
}

.pt-30 {
    padding-top: 30px
}

.mt-n1 {
    margin-top: -0.25rem
}

.mt-n2 {
    margin-top: -0.5rem
}

.mt-n3 {
    margin-top: -1rem
}

.mt-n4 {
    margin-top: -1.5rem
}

.mt-n5 {
    margin-top: -3rem
}

.mb-n1 {
    margin-bottom: -0.25rem
}

.mb-n2 {
    margin-bottom: -0.5rem
}

.mb-n3 {
    margin-bottom: -1rem
}

.mb-n4 {
    margin-bottom: -1.5rem
}

.mb-n5 {
    margin-bottom: -3rem
}

.mb-30 {
    margin-bottom: 30px
}

.mb-40 {
    margin-bottom: 40px
}

.mt-30 {
    margin-top: 30px
}

.py-80 {
    padding-top: 80px;
    padding-bottom: 80px
}

.space,
.space-top {
    padding-top: var(--section-space)
}

.space,
.space-bottom {
    padding-bottom: var(--section-space)
}

.space-extra,
.space-extra-top {
    padding-top: calc(var(--section-space) - 30px)
}

.space-extra,
.space-extra-bottom {
    padding-bottom: calc(var(--section-space) - 30px)
}

@media(max-width: 991px) {

    .space,
    .space-top {
        padding-top: var(--section-space-mobile)
    }

    .space,
    .space-bottom {
        padding-bottom: var(--section-space-mobile)
    }

    .space-extra,
    .space-extra-top {
        padding-top: calc(var(--section-space-mobile) - 30px)
    }

    .space-extra,
    .space-extra-bottom {
        padding-bottom: calc(var(--section-space-mobile) - 30px)
    }

    .space-top-md-none {
        padding-top: 0
    }
}



.banner-img {
    height: 450px;
    object-fit: cover;
    aspect-ratio: 16 / 5;
}
/* Hide arrows by default */
#bannerCarousel .custom-arrow {
    opacity: 0;
    transition: all 0.3s ease;
}

/* Show on hover */
#bannerCarousel:hover .custom-arrow {
    opacity: 1;
}

/* Circle design */
.custom-arrow {
    width: 50px;
    height: 50px;
    background: rgb(196, 34, 34);
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 20px !important;
    height: 20px !important;
    background-size: 40px 40px !important;
}

/* Position spacing */
.carousel-control-prev {
    left: 15px;
}

.carousel-control-next {
    right: 15px;
}



@media (max-width: 1350px) and (min-width: 1200px) {
  .header-btn {
    display: none !important;
  }
}

/* ── Section ── */
.nf-about {
  padding: 40px 0;
  background: #f9f9f9;
  position: relative;
  overflow: hidden;
}

/* subtle background watermark */
.nf-about::before {
  content: 'NILA';
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 220px;
  font-weight: 900;
  color: rgba(211,47,47,0.04);
  letter-spacing: -10px;
  pointer-events: none;
  user-select: none;
  font-family: 'Barlow Condensed', sans-serif;
  line-height: 1;
}

/* ── IMAGE COLUMN ── */
.nf-img-wrap {
  position: relative;
  padding-bottom: 60px;
  padding-right: 20px;
}

/* big main image */
.nf-img-main {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  box-shadow: 8px 8px 0 #d32f2f;
}

/* small overlay image — bottom right */
.nf-img-small {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 52%;
  height: 210px;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 6px 24px rgba(0,0,0,0.18);
}

/* years counter — top left corner */
.nf-counter {
  position: absolute;
  top: -14px;
  left: -14px;
  width: 120px;
  height: 120px;
  background: #d32f2f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 4px 4px 0 #1a1a1a;
}

.nf-counter-num {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 42px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.nf-counter-num sup {
  font-size: 22px;
  /* vertical-align: super; */
  top: -8px;
}

.nf-counter-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.88);
  text-align: center;
  line-height: 1.3;
  margin-top: 2px;
  padding: 0 6px;
}

/* ── CONTENT COLUMN ── */
.nf-content {
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* subtitle tag */
.nf-subtitle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
 
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 14px;
}

.nf-subtitle::before {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: #d32f2f;
  flex-shrink: 0;
}

/* heading */
.nf-heading {
 
  font-size: clamp(30px, 3.5vw, 42px);
  font-weight: 700;
  line-height: 1.1;
  color: #1a1a1a;
  margin-bottom: 24px;
}

.nf-heading span {
  color: #d32f2f;
}

/* divider */
.nf-divider {
  width: 52px;
  height: 3px;
  background: #d32f2f;
  margin-bottom: 24px;
}

/* paragraphs */
.nf-para {

  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.8;
  color: #444;
  text-align: justify;
  margin-bottom: 18px;
}

.nf-para:last-of-type {
  margin-bottom: 28px;
}

.nf-para strong {
  color: #1a1a1a;
  font-weight: 600;
}

/* CTA button */
.nf-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  background: #d32f2f;
  color: #fff;
  
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid #d32f2f;
  transition: background 0.3s, color 0.3s;
  align-self: flex-start;
}

.nf-btn:hover {
  background: transparent;
  color: #d32f2f;
}

.nf-btn svg {
  transition: transform 0.3s;
}

.nf-btn:hover svg {
  transform: translateX(4px);
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .nf-about { padding: 60px 0; }
  .nf-content { padding-left: 0; margin-top: 50px; }
  .nf-img-wrap { padding-right: 0; }
}

@media (max-width: 575px) {
  .nf-img-main { height: 280px; }
  .nf-img-small { width: 55%; height: 150px; }
  .nf-counter { width: 96px; height: 96px; top: -10px; left: -10px; }
  .nf-counter-num { font-size: 32px; }
  .nf-about::before { display: none; }
}
.nf-services {
  padding: 40px 0;
  background: #fff;
  position: relative;
}

/* ── Section Header ── */
.nf-sec-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 12px;
}
.nf-sec-tag::before,
.nf-sec-tag::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #d32f2f;
  flex-shrink: 0;
}

.nf-sec-title {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  line-height: 1.15;
}
.nf-sec-title span { color: #d32f2f; }

.nf-sec-desc {
  font-size: 15px;
  color: #666;
  /* max-width: 520px; */
  margin: 0 auto;
  line-height: 1.7;
}

/* ── Grid ── */
.nf-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 52px;
}

/* ── Card ── */
.nf-srv-card {
  position: relative;
  background: #fff;
  border: 1px solid #ececec;
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow 0.35s, transform 0.35s;
  display: flex;
  flex-direction: column;
}
.nf-srv-card:hover {
  box-shadow: 0 12px 40px rgba(211,47,47,0.13);
  transform: translateY(-4px);
}

/* image wrapper */
.nf-srv-img {
  position: relative;
  width: 100%;
  height: 210px;
  overflow: hidden;
}
.nf-srv-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
  filter: brightness(0.92);
}
.nf-srv-card:hover .nf-srv-img img {
  transform: scale(1.07);
  filter: brightness(1);
}

/* red top accent line */
.nf-srv-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: #d32f2f;
  transition: width 0.4s ease;
  z-index: 5;
}
.nf-srv-card:hover::before {
  width: 100%;
}

/* category label on image */
.nf-srv-cat {
  position: absolute;
  top: 14px;
  left: 0;
  background: #1a1a1a;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 12px;
  z-index: 4;
}

/* card body */
.nf-srv-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
  border-top: 1px solid #f0f0f0;
}

/* icon */
.nf-srv-icon {
  width: 40px;
  height: 40px;
  background: #fff0f0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  transition: background 0.3s;
}
.nf-srv-card:hover .nf-srv-icon {
  background: #d32f2f;
}
.nf-srv-icon svg {
  stroke: #d32f2f;
  transition: stroke 0.3s;
}
.nf-srv-card:hover .nf-srv-icon svg {
  stroke: #fff;
}

.nf-srv-name {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 6px;
  line-height: 1.25;
}

.nf-srv-text {
  font-size: 13.5px;
  color: #666;
  line-height: 1.65;
  margin-bottom: 14px;
  flex: 1;
}

.nf-srv-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #d32f2f;
  text-decoration: none;
  transition: gap 0.25s;
}
.nf-srv-link:hover { gap: 10px; color: #d32f2f; }
.nf-srv-link svg { flex-shrink: 0; }

/* ── RESPONSIVE ── */
@media (max-width: 1199px) {
  .nf-services-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .nf-services { padding: 60px 0; }
  .nf-services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 36px;
  }
  .nf-srv-img { height: 160px; }
}
@media (max-width: 480px) {
  .nf-services-grid { grid-template-columns: 1fr; }
  .nf-srv-img { height: 200px; }
}
.nf-apps {
  padding: 40px 0;
  background: #f7f7f7;
}

/* Header */
.nf-apps-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 12px;
}
.nf-apps-tag::before,
.nf-apps-tag::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #d32f2f;
  flex-shrink: 0;
}
.nf-apps-title {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  line-height: 1.15;
}
.nf-apps-title span { color: #d32f2f; }
.nf-apps-desc {
  font-size: 15px;
  color: #666;
  /* max-width: 500px; */
  margin: 0 auto;
  line-height: 1.7;
}

/* Grid */
.nf-apps-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
  margin-top: 52px;
}

/* Card */
.nf-app-card {
  background: #fff;
  border: 1px solid #ececec;
  padding: 34px 16px 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.32s, transform 0.32s, border-color 0.32s;
  cursor: pointer;
}
.nf-app-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: #FFD900;
  transition: width 0.38s ease;
}
.nf-app-card:hover::after { width: 100%; }
.nf-app-card:hover {
  box-shadow: 0 10px 36px rgba(160,0,8,0.13);
  transform: translateY(-5px);
  border-color: rgba(255,217,0,0.5);
}

/* Icon circle */
.nf-app-icon {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #fff3f3;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  transition: background 0.32s;
  flex-shrink: 0;
}
.nf-app-card:hover .nf-app-icon {
  background: #FFD900;
}

/* SVG uses currentColor — on hover set to #A00008 to show all details in dark red */
.nf-app-icon svg {
  fill: #1a1a1a;
  transition: fill 0.32s;
}
/* white detail shapes inside SVG */
.nf-app-icon svg [fill="#fff"],
.nf-app-icon svg [fill="white"] {
  transition: fill 0.32s;
}
.nf-app-card:hover .nf-app-icon svg {
  fill: #A00008;
}
/* keep internal white detail shapes visible on yellow bg */
.nf-app-card:hover .nf-app-icon svg rect[fill="#fff"],
.nf-app-card:hover .nf-app-icon svg circle[fill="#fff"],
.nf-app-card:hover .nf-app-icon svg ellipse[fill="#fff"],
.nf-app-card:hover .nf-app-icon svg polygon[fill="#fff"],
.nf-app-card:hover .nf-app-icon svg path[fill="#fff"] {
  fill: #FFD900;
}

/* Label */
.nf-app-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #1a1a1a;
  line-height: 1.35;
  transition: color 0.28s;
}
.nf-app-card:hover .nf-app-label { color: #A00008; }

/* Responsive */
@media (max-width: 1399px) { .nf-apps-grid { grid-template-columns: repeat(6,1fr); } }
@media (max-width: 1199px) { .nf-apps-grid { grid-template-columns: repeat(4,1fr); } }
@media (max-width: 991px)  { .nf-apps-grid { grid-template-columns: repeat(3,1fr); gap:16px; } }
@media (max-width: 767px)  {
  .nf-apps { padding: 60px 0; }
  .nf-apps-grid { grid-template-columns: repeat(2,1fr); gap:14px; margin-top:36px; }
  .nf-app-icon { width:72px; height:72px; }
}

.nf-why {
  padding: 40px 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}

/* subtle bg pattern */
.nf-why::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(211,47,47,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(211,47,47,0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}

/* ── Section Header ── */
.nf-why-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 12px;
}
.nf-why-tag::before,
.nf-why-tag::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #d32f2f;
  flex-shrink: 0;
}
.nf-why-title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  line-height: 1.2;
}
.nf-why-title span { color: #d32f2f; }
.nf-why-desc {
  font-size: 15px;
  color: #666;
  max-width: 520px;
  margin: 0 auto 56px;
  line-height: 1.7;
}

/* ── 3-Column Row ── */
.nf-why-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  align-items: stretch;
  border: 1px solid #ececec;
  box-shadow: 0 4px 32px rgba(0,0,0,0.07);
}

/* ── Left & Right Feature Columns ── */
.nf-why-col {
  display: flex;
  flex-direction: column;
  background: #fff;
}

/* ── Feature Card ── */
.nf-why-item {
  padding: 30px 28px;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  position: relative;
  transition: background 0.28s;
}
.nf-why-item:last-child { border-bottom: none; }
.nf-why-item:hover { background: #fffbf0; }



/* icon box */
.nf-why-icon {
  width: 52px;
  height: 52px;
  background: #fff3f3;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.28s;
  position: relative;
}
.nf-why-icon::after {
  content: '';
  position: absolute;
  bottom: -3px;
  right: -3px;
  width: 100%;
  height: 100%;
  border: 2px solid #FFD900;
  border-radius: 4px;
  z-index: -1;
  transition: bottom 0.28s, right 0.28s;
}
.nf-why-item:hover .nf-why-icon {
  background: #d32f2f;
}
.nf-why-item:hover .nf-why-icon::after {
  bottom: -5px;
  right: -5px;
}
.nf-why-icon svg {
  fill: #d32f2f;
  transition: fill 0.28s;
}
.nf-why-item:hover .nf-why-icon svg {
  fill: #fff;
}

/* text block */
.nf-why-item-text {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.nf-why-item-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 6px;
  line-height: 1.25;
  transition: color 0.28s;
}
.nf-why-item:hover .nf-why-item-title { color: #d32f2f; }
.nf-why-item-text p {
  font-size: 15px;
  color: #666;
  text-align: justify;
  line-height: 1.65;
  margin: 0;
}

/* ── Center Image Column ── */
.nf-why-center {
  position: relative;
  overflow: hidden;
  min-height: 480px;
}
.nf-why-center img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 6s ease;
}
.nf-why-center:hover img { transform: scale(1.04); }

/* image overlay */
.nf-why-center-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.15) 0%,
    rgba(0,0,0,0.0) 40%,
    rgba(0,0,0,0.0) 60%,
    rgba(211,47,47,0.55) 100%
  );
}

/* badge on center image */
.nf-why-badge {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 22px 20px;
  z-index: 5;
  text-align: center;
}
.nf-why-badge-num {
  font-size: 42px;
  font-weight: 700;
  color: #FFD900;
  line-height: 1;
}
.nf-why-badge-num sup {
  font-size: 22px;
  top: -8px;
  /* vertical-align: super; */
}
.nf-why-badge-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #fff;
  margin-top: 4px;
}

/* left accent border on center col */
.nf-why-center::before,
.nf-why-center::after {
  content: '';
  position: absolute;
  top: 0;
  width: 3px;
  height: 100%;
  background: #FFD900;
  z-index: 6;
}
.nf-why-center::before { left: 0; }
.nf-why-center::after  { right: 0; }

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .nf-why-row {
    grid-template-columns: 1fr;
    border: none;
    box-shadow: none;
    gap: 20px;
  }
  .nf-why-center { min-height: 300px; border: 1px solid #ececec; }
  .nf-why-col { border: 1px solid #ececec; }
  .nf-why-col.nf-col-right .nf-why-item { flex-direction: row; text-align: left; }
  .nf-why-col.nf-col-right .nf-why-item-text { align-items: flex-start; }
  .nf-why { padding: 60px 0; }
  .nf-why-desc { margin-bottom: 36px; }
}
@media (max-width: 575px) {
  .nf-why-item { padding: 22px 18px; gap: 14px; }
  .nf-why-icon { width: 44px; height: 44px; }
}

/* Thumbnail Card */
.video-card {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    border-radius: 10px;
}

/* Video thumbnail */
.video-thumb {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
    transition: transform 0.3s ease;
}

/* Small clean play button */
.play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    width: 45px;
    height: 45px;
    
    background: rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    
    display: flex;
    align-items: center;
    justify-content: center;
    
    color: #fff;
    font-size: 18px;
    
    transition: all 0.3s ease;
}

/* Hover effects */
.video-card:hover .video-thumb {
    transform: scale(1.05);
}

.video-card:hover .play-btn {
    background: rgba(0, 0, 0, 0.8);
    transform: translate(-50%, -50%) scale(1.1);
}
/* Modal */
.video-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.9);
    text-align: center;
}

/* Video */
#videoPlayer {
    width: 80%;
    max-height: 80vh;
    margin-top: 5%;
}

/* Close button */
.close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 30px;
    color: #fff;
    cursor: pointer;
}

/* Controls */
.video-controls {
    margin-top: 10px;
}

.video-controls button {
    margin: 5px;
    padding: 8px 15px;
    border: none;
    background: #0d6efd;
    color: #fff;
    border-radius: 5px;
}
.nf-videos {
  padding: 40px 0;
  background: #f7f7f7;
}

/* ── Header ── */
.nf-vid-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 12px;
}
.nf-vid-tag::before,
.nf-vid-tag::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #d32f2f;
}
.nf-vid-title {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  line-height: 1.2;
}
.nf-vid-title span { color: #d32f2f; }
.nf-vid-desc {
  font-size: 15px;
  color: #666;
  /* max-width: 500px; */
  margin: 0 auto 52px;
  line-height: 1.7;
}

/* ── Grid ── */
.nf-vid-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
/* Footer base */
.footer-wrapper {
    position: relative;
    overflow: hidden;
    color: #fff;
}

/* Video background */
.footer-bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Overlay */
.footer-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.75);
    z-index: 1;
}

/* Keep content above */
.footer-wrapper .container,
.footer-wrapper .row,
.footer-wrapper .widget-area,
.footer-wrapper .copyright-wrap {
    position: relative;
    z-index: 2;
}


/* About text */
.footer-about {
    font-size: 16px;
    line-height: 1.7;
    text-align: justify;
    color: #ffffff;
}

/* Headings */
.widget_title {
    color: #fff;
    margin-bottom: 15px;
}

/* Links */
.footer-wrapper ul {
    list-style: none;
    padding: 0;
}

.footer-wrapper ul li {
    margin-bottom: 8px;
}

.footer-wrapper ul li a {
    color: #ccc;
    text-decoration: none;
    transition: 0.3s;
}



/* Social icons */
.social-icons a {
    display: inline-flex;
    width: 35px;
    height: 35px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    color: #fff;
    transition: 0.3s;
}

.social-icons a:hover {
    background: var(--theme-color);
}

/* Contact icons */
.footer-contact li {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    color: #ffffff;
}

.footer-contact i {
    width: 35px;
    height: 35px;
    background: var(--theme-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    color: #ffffff;
}

/* Divider */
.copyright-wrap {
    border-top: 1px solid rgba(255,255,255,0.2);
    margin-top: 20px;
    padding-top: 15px;
}

/* Bottom text */
.copyright-text {
    color: #ffffff;
    font-size: 17px;
}

.copyright-text a {
    color: var(--theme-color);
    text-decoration: none;
}
.nf-areas {
  padding: 40px 0;
  position: relative;
  overflow: hidden;
  background: #0d0d0d;
}

/* ── Background Video ── */
.nf-areas-video-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.nf-areas-video-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  /* slow motion effect via CSS playback-rate set in JS */
}

/* ── Dark overlay layers ── */
/* primary dark tint */
.nf-areas-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.72);
  z-index: 1;
}
/* gradient vignette — darker at edges */
.nf-areas-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.0) 30%, rgba(0,0,0,0.55) 100%);
  z-index: 2;
}
/* red bottom gradient accent */
.nf-areas-gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #FFD900 0%, #d32f2f 50%, #FFD900 100%);
  z-index: 10;
}

/* left accent bar */
.nf-areas-leftbar {
  position: absolute;
  top: 0; left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, #FFD900, #d32f2f);
  z-index: 10;
}

/* ── All content above overlay ── */
.nf-areas-content {
  position: relative;
  z-index: 5;
}

/* ── Header ── */
.nf-areas-header {
  text-align: center;
  margin-bottom: 44px;
}
.nf-areas-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #FFD900;
  margin-bottom: 14px;
}
.nf-areas-tag::before,
.nf-areas-tag::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #FFD900;
}
.nf-areas-title {
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin-bottom: 12px;
}
.nf-areas-title span { color: #d32f2f; }
.nf-areas-subtitle {
  font-size: 15px;
  color: rgba(255,255,255,0.62);
  /* max-width: 540px; */
  margin: 0 auto;
  line-height: 1.75;
}

/* ── Stats row ── */
.nf-areas-stats {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-bottom: 44px;
  flex-wrap: wrap;
  /* border: 1px solid rgba(255,255,255,0.1); */
  background: rgba(255,255,255,0.04);
  /* backdrop-filter: blur(6px); */
  /* max-width: 700px; */
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 48px;
}
.nf-areas-stat {
  text-align: center;
  flex: 1;
  padding: 22px 16px;
  border-right: 1px solid rgba(255,255,255,0.1);
}
.nf-areas-stat:last-child { border-right: none; }
.nf-areas-stat-num {
  font-size: 30px;
  font-weight: 700;
  color: #FFD900;
  line-height: 1;
}
.nf-areas-stat-num sup { font-size: 22px; top: -5px; }
.nf-areas-stat-label {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-top: 5px;
}
.breadcumb-content{
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ── Tag cloud ── */
.nf-areas-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

/* ── Individual tag ── */
.nf-area-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.25s, border-color 0.25s, color 0.25s, transform 0.22s, box-shadow 0.25s;
  white-space: nowrap;
  backdrop-filter: blur(4px);
}
.nf-area-tag::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  background: #d32f2f;
  border-radius: 50%;
  flex-shrink: 0;
  transition: background 0.25s;
}
.nf-area-tag:hover {
  background: #d32f2f;
  border-color: #d32f2f;
  color: #fff;
  transform: translateY(-2px);
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(211,47,47,0.35);
}
.nf-area-tag:hover::before { background: #FFD900; }

/* featured large tags */
.nf-area-tag.nf-tag-lg {
  padding: 11px 20px;
  font-size: 13.5px;
  font-weight: 700;
  border-color: rgba(211,47,47,0.6);
  border-width: 1.5px;
  background: rgba(211,47,47,0.14);
  color: #fff;
}
.nf-area-tag.nf-tag-lg::before {
  background: #FFD900;
  width: 6px;
  height: 6px;
}
.nf-area-tag.nf-tag-lg:hover {
  background: #d32f2f;
  border-color: #d32f2f;
}

/* ── Divider ── */
.nf-areas-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 40px 0 20px;
}
.nf-areas-divider-line {
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,0.12);
}
.nf-areas-divider-text {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  white-space: nowrap;
}

/* ── Bottom CTA ── */
.nf-areas-cta {
  text-align: center;
  margin-top: 48px;
  padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.nf-areas-cta p {
  font-size: 15px;
  color: rgba(255,255,255,0.55);
  margin-bottom: 20px;
}
.nf-areas-cta p strong { color: #FFD900; font-weight: 600; }

.nf-areas-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 30px;
  background: #d32f2f;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid #d32f2f;
  transition: background 0.28s, color 0.28s;
}
.nf-areas-btn:hover {
  background: transparent;
  color: #d32f2f;
  text-decoration: none;
}
.nf-areas-btn svg { transition: transform 0.25s; }
.nf-areas-btn:hover svg { transform: translateX(4px); }

/* ── RESPONSIVE ── */
@media (max-width: 767px) {
  .nf-areas { padding: 60px 0; }
  .nf-areas-stats { flex-wrap: wrap; max-width: 100%; }
  .nf-areas-stat { flex: 1 1 40%; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .nf-area-tag { font-size: 12px; padding: 7px 12px; }
}

.nf-testi {
  padding: 40px 0;
  background: #fff;
  overflow: hidden;
}

/* ── Header ── */
.nf-testi-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 12px;
}
.nf-testi-tag::before,
.nf-testi-tag::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #d32f2f;
}
.nf-testi-title {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  line-height: 1.2;
}
.nf-testi-title span { color: #d32f2f; }
.nf-testi-desc {
  font-size: 15px;
  color: #666;
  /* max-width: 480px; */
  margin: 0 auto 52px;
  line-height: 1.7;
}

/* Card */
.testimonial-card {
    background: #fff;
    padding: 40px 25px 25px;
    border-radius: 14px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    text-align: center;
    position: relative;
}

/* Avatar */
.avatar {
    width: 80px;
    height: 80px;
    margin: 0 auto 15px;
}

.avatar img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

/* Text */
.testimonial-text {
    font-size: 15px;
    color: #555;
    margin-bottom: 15px;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Stars */
.stars {
    color: #ffc107;
    margin-bottom: 10px;
    font-size: 18px;
}

/* Name */
.name {
    font-size: 16px;
    font-weight: 600;
}

.role {
    font-size: 13px;
    color: #888;
}

/* NAVIGATION BUTTONS (FIXED) */
.custom-nav {
    width: 45px;
    height: 45px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
    color: var(--theme-color);
}

.custom-nav::after {
    font-size: 16px !important;
    font-weight: bold;
    color: var(--theme-color);
}

/* Position */
.swiper-button-prev {
    left: -10px;
}

.swiper-button-next {
    right: -10px;
}

/* Hover effect */
.custom-nav:hover {
    background: #000;
    color: #fff;
}

/* Pagination */
.swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
  
}

.swiper-pagination-bullet-active {
    background: #000;
}
.nf-about-pg {
  padding: 40px 0;
  background: #fff;
}

/* ── Image Column ── */
.nf-about-img-wrap {
  position: relative;
  padding-right: 20px;
  padding-bottom: 24px;
}

/* main image */
.nf-about-img-main {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  box-shadow: 6px 6px 0 #d32f2f;
}

/* small bottom-right overlay image */
.nf-about-img-sm {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 48%;
  height: 200px;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 6px 24px rgba(0,0,0,0.15);
}

/* experience badge — top left */
.nf-about-badge {
  position: absolute;
  top: -14px;
  left: -14px;
  width: 116px;
  height: 116px;
  background: #d32f2f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 5;
  box-shadow: 4px 4px 0 #1a1a1a;
}
.nf-about-badge-num {
  font-size: 40px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.nf-about-badge-num sup {
  font-size: 20px;
  vertical-align: super;
}
.nf-about-badge-text {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.88);
  text-align: center;
  line-height: 1.3;
  margin-top: 3px;
  padding: 0 8px;
}

/* ── Content Column ── */
.nf-about-content {
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

/* subtitle tag */
.nf-about-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 14px;
}
.nf-about-tag::before {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: #d32f2f;
}

/* heading */
.nf-about-heading {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.15;
  margin-bottom: 6px;
}
.nf-about-heading span { color: #d32f2f; }

/* red divider */
.nf-about-divider {
  width: 50px;
  height: 3px;
  background: #d32f2f;
  margin: 18px 0 22px;
  position: relative;
}
.nf-about-divider::after {
  content: '';
  position: absolute;
  left: 58px;
  top: 0;
  width: 10px;
  height: 3px;
  background: #FFD900;
}

/* paragraphs */
.nf-about-para {
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.85;
  color: #555;
  text-align: justify;
  margin-bottom: 18px;
}
.nf-about-para:last-of-type { margin-bottom: 28px; }
.nf-about-para strong {
  color: #1a1a1a;
  font-weight: 600;
}

/* key highlights row */
.nf-about-highlights {
  display: flex;
  gap: 0;
  border: 1px solid #ececec;
  margin-bottom: 28px;
}
.nf-about-hl {
  flex: 1;
  padding: 16px 14px;
  text-align: center;
  border-right: 1px solid #ececec;
  transition: background 0.25s;
}
.nf-about-hl:last-child { border-right: none; }
.nf-about-hl:hover { background: #fff5f5; }
.nf-about-hl-num {
  font-size: 24px;
  font-weight: 700;
  color: #d32f2f;
  line-height: 1;
}
.nf-about-hl-num sup { font-size: 20px; top:-3px ;}
.nf-about-hl-label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #999;
  margin-top: 4px;
  line-height: 1.3;
}

/* CTA button */
.nf-about-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  background: #d32f2f;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid #d32f2f;
  transition: background 0.28s, color 0.28s;
  align-self: flex-start;
}
.nf-about-btn:hover {
  background: transparent;
  color: #d32f2f;
  text-decoration: none;
}
.nf-about-btn svg { transition: transform 0.25s; }
.nf-about-btn:hover svg { transform: translateX(4px); }

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .nf-about-pg { padding: 60px 0; }
  .nf-about-img-wrap { padding-right: 0; margin-bottom: 50px; }
  .nf-about-content { padding-left: 0; margin-top: 10px; }
  .nf-about-img-main { height: 340px; }
}
@media (max-width: 575px) {
  .nf-about-img-main { height: 260px; }
  .nf-about-img-sm { width: 52%; height: 140px; }
  .nf-about-badge { width: 96px; height: 96px; top: -10px; left: -10px; }
  .nf-about-badge-num { font-size: 32px; }
  .nf-about-highlights { flex-wrap: wrap; }
  .nf-about-hl { flex: 1 1 45%; }
}

.nf-mvv {
  padding: 40px 0;
  background: #f7f7f7;
  position: relative;
  overflow: hidden;
}
.nf-mvv::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(211,47,47,0.05) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}

/* ── Section Header ── */
.nf-mvv-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 12px;
}
.nf-mvv-tag::before,
.nf-mvv-tag::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #d32f2f;
}
.nf-mvv-title {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.2;
  margin-bottom: 10px;
}
.nf-mvv-title span { color: #d32f2f; }
.nf-mvv-desc {
  font-size: 15px;
  color: #666;
  /* max-width: 500px; */
  margin: 0 auto 52px;
  line-height: 1.7;
}

/* ── Grid ── */
.nf-mvv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ── Card ── */
.nf-mvv-card {
  background: #fff;
  border: 1px solid #ececec;
  padding: 38px 32px 34px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.32s, transform 0.32s;
  display: flex;
  flex-direction: column;
}
.nf-mvv-card:hover {
  box-shadow: 0 12px 40px rgba(211,47,47,0.11);
  transform: translateY(-5px);
}

/* top colour bar */
.nf-mvv-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 4px;
  background: #ececec;
  transition: background 0.35s;
}
.nf-mvv-card:hover::before { background: #d32f2f; }

/* large bg number watermark */
.nf-mvv-card::after {
  content: attr(data-num);
  position: absolute;
  bottom: -16px;
  right: -8px;
  font-size: 110px;
  font-weight: 900;
  color: rgba(211,47,47,0.04);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  transition: color 0.35s;
}
.nf-mvv-card:hover::after { color: rgba(211,47,47,0.07); }

/* ── Icon box ── */
.nf-mvv-icon {
  width: 64px;
  height: 64px;
  background: #fff3f3;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  position: relative;
  transition: background 0.32s;
  flex-shrink: 0;
}
.nf-mvv-icon::after {
  content: '';
  position: absolute;
  bottom: -4px;
  right: -4px;
  width: 100%;
  height: 100%;
  border: 2px solid #FFD900;
  z-index: -1;
  transition: bottom 0.28s, right 0.28s;
}
.nf-mvv-card:hover .nf-mvv-icon { background: #d32f2f; }
.nf-mvv-card:hover .nf-mvv-icon::after { bottom: -6px; right: -6px; }
.nf-mvv-icon svg {
  fill: #d32f2f;
  transition: fill 0.32s;
}
.nf-mvv-card:hover .nf-mvv-icon svg { fill: #fff; }

/* ── Card title ── */
.nf-mvv-card-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 8px;
}
.nf-mvv-card-title {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.2;
  margin-bottom: 16px;
  transition: color 0.28s;
}
.nf-mvv-card:hover .nf-mvv-card-title { color: #d32f2f; }

/* divider */
.nf-mvv-card-line {
  width: 40px;
  height: 3px;
  background: #d32f2f;
  margin-bottom: 18px;
  position: relative;
}
.nf-mvv-card-line::after {
  content: '';
  position: absolute;
  left: 48px; top: 0;
  width: 8px; height: 3px;
  background: #FFD900;
}

/* ── Content ── */
.nf-mvv-card-text {
  font-size: 15px;
  color: #555;
  line-height: 1.82;
  text-align: justify;
  flex: 1;
  margin-bottom: 24px;
}

/* ── Points list (core values) ── */
.nf-mvv-points {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.nf-mvv-points li {
 text-align: justify;
  gap: 10px;
  font-size: 14.5px;
  color: #555;
  line-height: 1.55;
}
/* .nf-mvv-points li::before {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  background: #d32f2f;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 6px;
  transition: background 0.25s;
} */
.nf-mvv-card:hover .nf-mvv-points li::before { background: #FFD900; }
.nf-mvv-points li strong {
  color: #1a1a1a;
  font-weight: 600;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .nf-mvv-grid { grid-template-columns: 1fr; gap: 20px; }
  .nf-mvv { padding: 60px 0; }
  .nf-mvv-desc { margin-bottom: 36px; }
  .nf-mvv-card { padding: 30px 24px 26px; }
}
@media (max-width: 575px) {
  .nf-mvv-card::after { font-size: 80px; }
}
.product-section {
    padding: 70px 0;
    background: #f9fafc;
}

.section-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 50px;
}

/* CARD */
.product-card {
    background: #fff;
    border-radius: 14px;
    padding: 25px 15px;
    text-align: center;
    transition: all 0.35s ease;
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
    cursor: pointer;
}

/* IMAGE */
.product-card img {
    height: 140px;
    object-fit: contain;
    margin-bottom: 15px;
    transition: 0.4s;
}

/* TITLE */
.product-card h4 {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    margin: 0;
}

/* HOVER EFFECT 🔥 */
.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 35px rgba(0,0,0,0.12);
}

.product-card:hover img {
    transform: scale(1.08);
}

/* OPTIONAL BORDER ACCENT */
.product-card:hover {
    border: 1px solid #ff0057;
}

/* RESPONSIVE SPACING */
@media (max-width: 768px) {
    .product-card img {
        height: 120px;
    }
}
.nf-prod {
  padding: 40px 0;
  background: #f7f7f7;
  position: relative;
  overflow: hidden;
}
.nf-prod::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(211,47,47,0.045) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none;
}

/* ── Section Header ── */
.nf-prod-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 12px;
}
.nf-prod-tag::before,
.nf-prod-tag::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #d32f2f;
}
.nf-prod-title {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  line-height: 1.2;
}
.nf-prod-title span { color: #d32f2f; }
.nf-prod-subtitle {
  font-size: 15px;
  color: #777;
  max-width: 480px;
  margin: 0 auto 52px;
  line-height: 1.7;
}

/* ── Grid ── */
.nf-prod-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* ── Card ── */
.nf-prod-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: default;
  transition: box-shadow 0.35s, transform 0.35s, border-color 0.35s;
}
.nf-prod-card:hover {
  box-shadow: 0 14px 44px rgba(211,47,47,0.13);
  transform: translateY(-6px);
  border-color: rgba(211,47,47,0.2);
}

/* animated top red bar */
.nf-prod-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 0; height: 3px;
  background: #d32f2f;
  transition: width 0.42s ease;
  z-index: 5;
}
.nf-prod-card:hover::before { width: 100%; }

/* ── Image wrapper ── */
.nf-prod-img-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f2f2f2;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nf-prod-img-box img {
  width: 88%;
  height: 88%;
  object-fit: contain;
  display: block;
  transition: transform 0.55s cubic-bezier(.25,.46,.45,.94);
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.10));
}
.nf-prod-card:hover .nf-prod-img-box img {
  transform: scale(1.1);
}

/* background circle behind image */
.nf-prod-img-box::before {
  content: '';
  position: absolute;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  background: rgba(211,47,47,0.0);
  transition: background 0.35s;
}
.nf-prod-card:hover .nf-prod-img-box::before {
  background: rgba(211,47,47,0.05);
}

/* number badge top-right */
.nf-prod-num {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  background: #1a1a1a;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
  transition: background 0.28s;
}
.nf-prod-card:hover .nf-prod-num {
  background: #d32f2f;
}

/* ── Title bar ── */
.nf-prod-name-bar {
  width: 100%;
  padding: 16px 20px 18px;
  border-top: 1px solid #f0f0f0;
  text-align: center;
  position: relative;
}

/* yellow underline accent */
.nf-prod-name-bar::before {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 0; height: 2px;
  background: #FFD900;
  transition: width 0.38s ease;
}
.nf-prod-card:hover .nf-prod-name-bar::before {
  width: 60%;
}

.nf-prod-name {
  font-size: 15.5px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.25;
  margin: 0;
  transition: color 0.25s;
  letter-spacing: 0.2px;
}
.nf-prod-card:hover .nf-prod-name { color: #d32f2f; }

/* ── RESPONSIVE ── */
@media (max-width: 1199px) {
  .nf-prod-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .nf-prod { padding: 60px 0; }
  .nf-prod-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .nf-prod-subtitle { margin-bottom: 32px; }
}
@media (max-width: 360px) {
  .nf-prod-grid { grid-template-columns: 1fr; }
}
.nf-sd-page {
  padding: 30px 0 30px;
  background: #f7f7f7;
}

/* ── Row layout ── */
.nf-sd-row {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 28px;
  align-items: start;
}

/* ══════════════════════════════
   COL-LG-8  MAIN CONTENT
══════════════════════════════ */
.nf-sd-main {}

/* ── Hero image ── */
.nf-sd-hero {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  box-shadow: 5px 5px 0 #d32f2f;
  margin-bottom: 32px;
}

/* ── Section badge ── */
.nf-sd-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 10px;
}
.nf-sd-badge::before {
  content: '';
  display: block;
  width: 8px; height: 8px;
  background: #d32f2f;
  border-radius: 50%;
}

/* ── Main heading ── */
.nf-sd-h1 {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.2;
  margin-bottom: 18px;
}
.nf-sd-h1 span { color: #d32f2f; }

/* ── Red divider ── */
.nf-sd-divider {
  width: 48px; height: 3px;
  background: #d32f2f;
  margin-bottom: 20px;
  position: relative;
}
.nf-sd-divider::after {
  content: '';
  position: absolute;
  left: 56px; top: 0;
  width: 10px; height: 3px;
  background: #FFD900;
}

/* ── Body paragraphs ── */
.nf-sd-para {
  font-size: 16px;
  color: #555;
  line-height: 1.85;
  text-align: justify;
  margin-bottom: 16px;
}

/* ── Section heading (h2) ── */
.nf-sd-h2 {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 36px 0 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f0f0f0;
  position: relative;
}
.nf-sd-h2::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 48px; height: 2px;
  background: #d32f2f;
}

/* ── Bullet list ── */
.nf-sd-list {
  list-style: none;
  padding: 0; margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.nf-sd-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 16px;
  color: #555;
  line-height: 1.65;
  text-align: justify;
}
.nf-sd-list li .nf-sd-dot {
  width: 8px; height: 8px;
  background: #FFD900;
  border-radius: 50%;
  border: 2px solid #d32f2f;
  flex-shrink: 0;
  margin-top: 6px;
}
.nf-sd-list li strong { color: #1a1a1a; font-weight: 600; font-size: 16px;}

/* ── Dual image row ── */
.nf-sd-img-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 28px 0;
}
.nf-sd-img-row img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  border: 3px solid #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  transition: transform 0.4s ease;
}
.nf-sd-img-row img:hover { transform: scale(1.02); }

/* ── Why choose block ── */
.nf-sd-why {
  background: #fff;
  border: 1px solid #ececec;
  padding: 32px 28px;
  margin-top: 32px;
  position: relative;
  overflow: hidden;
}
.nf-sd-why::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px; height: 100%;
  background: linear-gradient(to bottom, #FFD900, #d32f2f);
}

/* ── Why grid ── */
.nf-sd-why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 20px;
}
.nf-sd-why-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px;
  background: #f9f9f9;
  border: 1px solid #f0f0f0;
  transition: background 0.25s, border-color 0.25s;
}
.nf-sd-why-item:hover {
  background: #fff5f5;
  border-color: rgba(211,47,47,0.2);
}
.nf-sd-why-icon {
  width: 40px; height: 40px;
  background: #fff3f3;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 2px;
}
.nf-sd-why-icon svg { fill: #d32f2f; }
.nf-sd-why-text h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 4px;
  line-height: 1.2;
}
.nf-sd-why-text p {
  font-size: 16px;
  color: #777;
  line-height: 1.55;
  margin: 0;
}

/* ══════════════════════════════
   COL-LG-4  STICKY SIDEBAR
══════════════════════════════ */
.nf-sd-sidebar {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ── Services widget ── */
.nf-sd-widget {
  background: #fff;
  border: 1px solid #ececec;
  overflow: hidden;
}
.nf-sd-widget-head {
  background: #1a1a1a;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.nf-sd-widget-head span {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fff;
}
.nf-sd-widget-head::before {
  content: '';
  display: block;
  width: 4px; height: 18px;
  background: #d32f2f;
  flex-shrink: 0;
}

/* service nav list */
.nf-sd-nav {
  list-style: none;
  padding: 8px 0; margin: 0;
}
.nf-sd-nav li a,
.nf-sd-nav li span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 20px;
  font-size: 16px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  border-bottom: 1px solid #f5f5f5;
  transition: background 0.22s, color 0.22s, padding-left 0.22s;
  cursor: pointer;
}
.nf-sd-nav li a:hover {
  background: #fff5f5;
  color: #d32f2f;
  padding-left: 26px;
}
/* active item */
.nf-sd-nav li.nf-active a,
.nf-sd-nav li.nf-active span {
  background: #d32f2f;
  color: #fff;
  font-weight: 700;
  padding-left: 20px;
  pointer-events: none;
}
.nf-sd-nav li.nf-active a svg,
.nf-sd-nav li.nf-active span svg { fill: #fff; }
.nf-sd-nav li:last-child a,
.nf-sd-nav li:last-child span { border-bottom: none; }

/* arrow icon in nav */
.nf-sd-nav li a svg { fill: #bbb; flex-shrink: 0; transition: fill 0.22s; }
.nf-sd-nav li a:hover svg { fill: #d32f2f; }

/* ── Logo / Brand widget ── */
.nf-sd-brand {
  background: #1a1a1a;
  padding: 28px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.nf-sd-brand::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 22px 22px;
}
.nf-sd-brand-logo {
  /* width: 100px; */
  height: 100px;
  object-fit: contain;
  margin: 0 auto 14px;
  display: block;
  position: relative;
}
.nf-sd-brand-name {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
  position: relative;
}
.nf-sd-brand-tagline {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #FFD900;
  position: relative;
}

/* ── Contact widget ── */
.nf-sd-contact {
  background: #fff;
  border: 1px solid #ececec;
  overflow: hidden;
}
.nf-sd-contact-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.nf-sd-contact-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.nf-sd-contact-icon {
  width: 38px; height: 38px;
  background: #fff3f3;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 2px;
}
.nf-sd-contact-icon svg { fill: #d32f2f; }
.nf-sd-contact-label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #aaa;
  margin-bottom: 2px;
}
.nf-sd-contact-val {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.4;
}
.nf-sd-contact-val a {
  color: #1a1a1a;
  font-size: 16px;
  text-decoration: none;
  transition: color 0.22s;
}
.nf-sd-contact-val a:hover { color: #d32f2f; }

/* get a quote btn */
.nf-sd-quote-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 20px;
  background: #d32f2f;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  margin: 4px 20px 20px;
  border: 2px solid #d32f2f;
  transition: background 0.28s, color 0.28s;
}
.nf-sd-quote-btn:hover {
  background: transparent;
  color: #d32f2f;
  text-decoration: none;
}
.nf-sd-quote-btn svg { transition: transform 0.25s; }
.nf-sd-quote-btn:hover svg { transform: translateX(4px); }

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .nf-sd-row {
    grid-template-columns: 1fr;
  }
  .nf-sd-sidebar {
    position: static;
    order: -1;
  }
  .nf-sd-hero { height: 260px; }
  .nf-sd-why-grid { grid-template-columns: 1fr; }
  .nf-sd-img-row img { height: 170px; }
  .nf-sd-page { padding: 50px 0 70px; }
}
@media (max-width: 575px) {
  .nf-sd-img-row { grid-template-columns: 1fr; }
  .nf-sd-img-row img { height: 220px; }
  .nf-sd-why-grid { grid-template-columns: 1fr; }
}

/* Section Styling */
.our-works-section {
    background-color: #f8f9fa;
}

.heading-line {
    width: 60px;
    height: 4px;
    background: #007bff; /* Adjust color to match Nila Fencing branding */
    border-radius: 2px;
}

/* Card Design */
.work-card {
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    cursor: pointer;
}

.work-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

/* Image Wrapper & Overlay */
.work-img-wrapper {
    position: relative;
    aspect-ratio: 1 / 1; /* Ensures perfect squares for a neat grid */
    overflow: hidden;
}

.work-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.work-card:hover .work-img-wrapper img {
    transform: scale(1.1);
}

.work-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(10 10 10 / 59%); /* Modern semi-transparent primary color */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.work-overlay i {
    color: #fff;
    font-size: 2rem;
}

.work-card:hover .work-overlay {
    opacity: 1;
}

/* Lightbox Main Overlay */
.lightbox {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(8px);
    justify-content: center;
    align-items: center;
}

/* Close Button (Top Right) */
.close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 40px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.close-btn:hover {
    background: #ff4d4d;
    transform: rotate(90deg);
}

/* Circular Navigation Buttons */
.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
    width: 55px;
    height: 55px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-btn:hover {
    background: #007bff;
    color: white;
}

.prev-btn { left: 30px; }
.next-btn { right: 30px; }

/* Image Animation */
.lightbox-content-wrapper {
    max-width: 85%;
    max-height: 85vh;
}

#lightboxImg {
    width: 100%;
    height: auto;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 8px;
    animation: zoomIn 0.4s ease;
}

@keyframes zoomIn {
    from { transform: scale(0.8); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .nav-btn { width: 45px; height: 45px; }
    .close-btn { top: 10px; right: 15px; width: 50px; height: 50px; }
}
.nf-info {
  padding: 40px 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}
.nf-info::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(211,47,47,0.04) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}

/* ── Grid ── */
.nf-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  position: relative;
}

/* vertical dividers between columns */
.nf-info-grid::before,
.nf-info-grid::after {
  content: '';
  position: absolute;
  top: 40px;
  bottom: 40px;
  width: 1px;
  background: linear-gradient(to bottom, transparent, #e8e8e8 20%, #e8e8e8 80%, transparent);
}
.nf-info-grid::before { left: 33.333%; }
.nf-info-grid::after  { left: 66.666%; }

/* ── Column card ── */
.nf-info-col {
  padding: 40px 36px;
  position: relative;
  transition: background 0.3s;
}
.nf-info-col:hover { background: #fefefe; }

/* top accent line per column */
.nf-info-col::before {
  content: '';
  position: absolute;
  top: 0; left: 36px;
  width: 0; height: 3px;
  background: #d32f2f;
  transition: width 0.42s ease;
}
.nf-info-col:hover::before { width: calc(100% - 72px); }

/* ── Icon box ── */
.nf-info-icon {
  width: 58px;
  height: 58px;
  background: #fff3f3;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  position: relative;
  transition: background 0.3s;
  flex-shrink: 0;
}
.nf-info-icon::after {
  content: '';
  position: absolute;
  bottom: -4px; right: -4px;
  width: 100%; height: 100%;
  border: 2px solid #FFD900;
  z-index: -1;
  transition: bottom 0.28s, right 0.28s;
}
.nf-info-col:hover .nf-info-icon { background: #d32f2f; }
.nf-info-col:hover .nf-info-icon::after { bottom: -6px; right: -6px; }
.nf-info-icon svg {
  fill: #d32f2f;
  transition: fill 0.3s;
}
.nf-info-col:hover .nf-info-icon svg { fill: #fff; }

/* ── Column number ── */
.nf-info-num {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 10px;
}
.nf-info-num::before {
  content: '';
  display: block;
  width: 20px; height: 2px;
  background: #FFD900;
}

/* ── Column heading ── */
.nf-info-heading {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.2;
  margin-bottom: 14px;
  transition: color 0.28s;
}
.nf-info-col:hover .nf-info-heading { color: #d32f2f; }

/* red + yellow divider */
.nf-info-line {
  width: 38px; height: 3px;
  background: #d32f2f;
  margin-bottom: 18px;
  position: relative;
}
.nf-info-line::after {
  content: '';
  position: absolute;
  left: 46px; top: 0;
  width: 8px; height: 3px;
  background: #FFD900;
}

/* ── Paragraph ── */
.nf-info-para {
  font-size: 15px;
  color: #555;
  line-height: 1.85;
  text-align: justify;
  margin: 0;
}
.nf-info-para strong {
  color: #d32f2f;
  font-weight: 600;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .nf-info-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .nf-info-grid::before,
  .nf-info-grid::after { display: none; }
  .nf-info-col {
    padding: 32px 24px;
    border-bottom: 1px solid #f0f0f0;
  }
  .nf-info-col:last-child { border-bottom: none; }
  .nf-info-col::before { left: 24px; }
  .nf-info-col:hover::before { width: calc(100% - 48px); }
  .nf-info { padding: 60px 0; }
}
@media (max-width: 575px) {
  .nf-info-col { padding: 28px 18px; }
}
/* Section Container */
.nf-modern-section {
    padding: 30px 0;
    background-color: #f9f9f9;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Header Styling */
.nf-header-wrap {
    text-align: center;
    margin-bottom: 50px;
}

.nf-sub-label {
    color: #A00008;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 10px;
    display: block;
}

.nf-main-title {
    font-weight: 800;
    color: #222;
    font-size: 2.5rem;
}

.nf-main-title span {
    color: #A00008;
}

.nf-title-line {
    width: 60px;
    height: 4px;
    background-color: #FFD900;
    margin: 15px auto 0;
    border-radius: 2px;
}

/* Card Styling */
.nf-feature-card {
    background: #ffffff;
    padding: 40px 30px;
    border-radius: 15px;
    text-align: center;
    border-bottom: 4px solid transparent;
    transition: all 0.4s ease;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.nf-feature-card:hover {
    transform: translateY(-10px);
    border-bottom: 4px solid #FFD900;
    box-shadow: 0 15px 40px rgba(160, 0, 8, 0.1);
}

/* Icon Box */
.nf-icon-wrapper {
    width: 70px;
    height: 70px;
    background-color: rgba(255, 217, 0, 0.15); /* Light Gold tint */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 30px;
    color: #A00008;
    transition: 0.3s ease;
}

.nf-feature-card:hover .nf-icon-wrapper {
    background-color: #A00008;
    color: #FFD900;
}

/* Text Content */
.nf-card-heading {
    font-weight: 700;
    color: #222;
    margin-bottom: 15px;
    font-size: 1.35rem;
}

.nf-card-text {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.6;
    text-align: justify; /* Text justify applied */
    margin-bottom: 0;
}
.nf-process {
  padding: 40px 0;
  background: #f7f7f7;
  position: relative;
  overflow: hidden;
}

/* bg dot pattern */
.nf-process::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(211,47,47,0.05) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.nf-process::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -60px;
  width: 320px; height: 320px;
  background: rgba(255,217,0,0.06);
  border-radius: 50%;
  pointer-events: none;
}

/* ── Header ── */
.nf-proc-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 12px;
}
.nf-proc-tag::before,
.nf-proc-tag::after {
  content: '';
  display: block;
  width: 24px; height: 2px;
  background: #d32f2f;
}
.nf-proc-title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.2;
  margin-bottom: 10px;
}
.nf-proc-title span { color: #d32f2f; }
.nf-proc-desc {
  font-size: 15px;
  color: #666;
  max-width: 500px;
  margin: 0 auto 60px;
  line-height: 1.7;
}

/* ── Steps container ── */
.nf-proc-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
}

/* connecting line between steps */
.nf-proc-steps::before {
  content: '';
  position: absolute;
  top: 52px;
  left: calc(12.5% + 10px);
  right: calc(12.5% + 10px);
  height: 2px;
  background: linear-gradient(90deg,
    #d32f2f 0%,
    #d32f2f 33%,
    #FFD900 33%,
    #FFD900 66%,
    #d32f2f 66%,
    #d32f2f 100%
  );
  z-index: 1;
}

/* ── Step card ── */
.nf-proc-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 20px 0;
  position: relative;
  z-index: 2;
}

/* ── Step number circle ── */
.nf-proc-circle {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
  position: relative;
  flex-shrink: 0;
  transition: border-color 0.35s, box-shadow 0.35s;
  box-shadow: 0 4px 20px rgba(0,0,0,0.07);
}
.nf-proc-step:hover .nf-proc-circle {
  border-color: #d32f2f;
  box-shadow: 0 0 0 8px rgba(211,47,47,0.08), 0 0 0 16px rgba(211,47,47,0.04);
}

/* outer ring */
.nf-proc-circle::before {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1px dashed #ddd;
  transition: border-color 0.35s;
}
.nf-proc-step:hover .nf-proc-circle::before {
  border-color: rgba(211,47,47,0.3);
}

/* inner step number */
.nf-proc-num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #bbb;
  position: absolute;
  top: 12px;
  right: 12px;
  line-height: 1;
}

/* icon inside circle */
.nf-proc-icon {
  width: 48px;
  height: 48px;
  background: rgba(211,47,47,0.12);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.35s;
}
.nf-proc-step:hover .nf-proc-icon {
  background: #d32f2f;
}
.nf-proc-icon svg {
  fill: #d32f2f;
  transition: fill 0.35s;
}
.nf-proc-step:hover .nf-proc-icon svg { fill: #fff; }

/* ── Step label ── */
.nf-proc-step-num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #d32f2f;
  margin-bottom: 8px;
}

/* ── Step title ── */
.nf-proc-step-title {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 12px;
  line-height: 1.25;
  transition: color 0.28s;
}
.nf-proc-step:hover .nf-proc-step-title { color: #d32f2f; }

/* ── Step description ── */
.nf-proc-step-text {
  font-size: 16px;
  text-align: justify;
  color: #777;
  line-height: 1.75;
  margin: 0;
}

/* ── Bottom CTA strip ── */
.nf-proc-cta {
  margin-top: 64px;
  padding: 32px 36px;
  background: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.nf-proc-cta-text {
  font-size: 25px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
}
.nf-proc-cta-text span { color: #FFD900; }
.nf-proc-cta-sub {
  font-size: 16px;
  color: #ffffff;
  margin-top: 4px;
}
.nf-proc-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  background: #d32f2f;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid #d32f2f;
  white-space: nowrap;
  transition: background 0.28s, color 0.28s;
  flex-shrink: 0;
}
.nf-proc-btn:hover {
  background: transparent;
  color: #d32f2f;
  text-decoration: none;
}
.nf-proc-btn svg { transition: transform 0.25s; }
.nf-proc-btn:hover svg { transform: translateX(4px); }

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .nf-proc-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 20px;
  }
  .nf-proc-steps::before { display: none; }
  .nf-process { padding: 60px 0; }
  .nf-proc-desc { margin-bottom: 40px; }
}
@media (max-width: 575px) {
  .nf-proc-steps { grid-template-columns: 1fr; gap: 40px; }
  .nf-proc-cta { flex-direction: column; align-items: flex-start; }
}
.nf-client-swiper {
    padding: 20px 0;
}

.nf-logo-card {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    padding: 15px;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.nf-logo-card img {
    max-width: 100%;
    max-height: 60px;
    object-fit: contain;
    /* filter: grayscale(100%); */
    /* opacity: 0.6; */
    transition: 0.3s ease;
}

/* Hover effects using your colors */
.nf-logo-card:hover {
    border-color: #FFD900; /* Gold border on hover */
    box-shadow: 0 5px 15px rgba(160, 0, 8, 0.08); /* Subtle Crimson shadow */
}

.nf-logo-card:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}
/* Gallery Item Styling */
.nf-gallery-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

.nf-gallery-item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

/* Hover Overlay */
.nf-gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(160, 0, 8, 0.7); /* Crimson Overlay */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.3s ease;
}

.nf-gallery-overlay i {
    color: #FFD900; /* Gold Icon */
    font-size: 2.5rem;
    transform: scale(0);
    transition: all 0.3s ease;
}

.nf-gallery-item:hover img {
    transform: scale(1.1);
}

.nf-gallery-item:hover .nf-gallery-overlay {
    opacity: 1;
}

.nf-gallery-item:hover .nf-gallery-overlay i {
    transform: scale(1);
}

/* Lightbox Modern Design */
.nf-lightbox {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.95);
    backdrop-filter: blur(5px);
    padding-top: 50px;
}

.nf-lightbox-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 80vh;
    border-radius: 8px;
    box-shadow: 0 0 30px rgba(255, 217, 0, 0.2);
    animation: zoomIn 0.3s ease;
}

@keyframes zoomIn {
    from { transform: scale(0.7); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

/* Close Button - Top Right */
.nf-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #FFD900;
    font-size: 50px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.nf-close:hover {
    color: #A00008;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .nf-gallery-item img { height: 180px; }
    .nf-close { right: 20px; top: 10px; }
}

/* Contact Info Styles */
.nf-contact-list {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.nf-info-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

.nf-circle-icon {
    width: 55px;
    height: 55px;
    background-color: #A00008;
    color: #FFD900;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    box-shadow: 0 4px 15px rgba(160, 0, 8, 0.2);
}

.nf-info-content h5 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #222;
}

.nf-info-content p {
    margin: 0;
    color: #666;
}

/* Social Media Styles */
.nf-social-wrap {
    display: flex;
    gap: 15px;
}

.nf-social-wrap a {
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #A00008;
    text-decoration: none;
    transition: all 0.3s ease;
}

.nf-social-wrap a:hover {
    background-color: #FFD900;
    border-color: #FFD900;
    transform: translateY(-3px);
}

/* Form Card Styles */
.nf-form-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.05);
}

.nf-form-title {
    font-weight: 800;
    margin-bottom: 30px;
    text-align: center;
}

.nf-form-title span {
    color: #A00008;
}

.nf-input-group {
    margin-bottom: 20px;
}

.nf-input-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #444;
    font-size: 0.9rem;
}

.nf-input-group label i {
    color: #A00008;
    margin-right: 5px;
}

.nf-input-group input, 
.nf-input-group textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #eee;
    background-color: #f9f9f9;
    border-radius: 10px;
    outline: none;
    transition: 0.3s;
}

.nf-input-group input:focus, 
.nf-input-group textarea:focus {
    border-color: #FFD900;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(255, 217, 0, 0.1);
}

/* Submit Button */
.nf-submit-btn {
    background-color: #A00008;
    color: #fff;
    border: none;
    padding: 14px 40px;
    border-radius: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.nf-submit-btn:hover {
    background-color: #FFD900;
    color: #222;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(255, 217, 0, 0.2);
}

/* Map Adjustments */
.nf-map-wrap {
    filter: grayscale(20%);
    border-top: 5px solid #FFD900;
}

/* Container Styling */
.nf-marquee-wrapper {
    width: 100%;
    background: #FFD900;
    color: #A00008;
    padding: 6px 0;
    overflow: hidden;
    position: relative;
    border-top: 1px solid #FFD900; /* Gold Top Border */
    border-bottom: 1px solid #FFD900; /* Gold Bottom Border */
    display: flex;
    align-items: center;
}

/* The Moving Track */
.nf-marquee-track {
    display: flex;
    white-space: nowrap;
    will-change: transform;
    animation: marqueeScroll 40s linear infinite; /* Adjusted for smooth reading */
}

/* Individual Items */
.nf-marquee-item {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    padding: 0 10px; /* Space between messages */
    /* font-family: 'Segoe UI', Tahoma, sans-serif; */
}

/* Icons Styling */
.nf-marquee-item i {
    color: #A00008; /* Icons in Gold */
    margin-right: 12px;
    font-size: 18px;
}

/* Bold Phone Number Highlight */
.nf-marquee-item strong {
    color: #A00008;
    margin-left: 8px;
    font-size: 15px;
}

/* The Animation Logic */
@keyframes marqueeScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } /* Scrolls half-way to reset loop invisibly */
}

/* Pause on Hover for User Reading */
.nf-marquee-wrapper:hover .nf-marquee-track {
    animation-play-state: paused;
}

/* Responsive adjustment for Mobile */
@media (max-width: 768px) {
    .nf-marquee-item {
        font-size: 14px;
        padding: 0 25px;
    }
}