/* ==============================================
Root Variables
============================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
--thm-font: "Poppins", sans-serif;
--thm-font-2: "Poppins", sans-serif;
--thm-gray: #737c76;
--thm-gray-rgb: 115, 124, 118;
--thm-primary: #fdc400;
--thm-primary-rgb: 253, 196, 0;
--thm-black: #eb2222;
--thm-black-rgb: 30, 50, 38;
--thm-base: #8317BB;
--thm-base-rgb: 131, 23, 187;
--theme-color: #8317BB;
--theme-alt-color: #f0faff;
--title-color: #0a0a0a;
--body-color: #4b4b4b;
--smoke-color: #f3f1f2;
--smoke-color2: #f6f7f9;
--black-color: #000000;
--black-color-2: #4b4b4b;
--gray-color: #d2d2d2;
--white-color: #ffffff;
--light-color: #cdcdcd;
--yellow-color: #ffb539;
--success-color: #28a745;
--error-color: #dc3545;
--border-color: #d2d2d2;
--title-font: "Poppins", sans-serif;
--main-container: 1290px;
--container-gutters: 24px;
--section-space: 120px;
--section-space-mobile: 80px;
--section-title-space: 60px;
--ripple-ani-duration: 5s;
--font-awesome: "FontAwesome";
--font-sm-size: 1rem; /* 16px */
--font-size: 1.125rem; /* 18px */
--font-lg-size: 1.5rem; /* 24px */
--font-xl-size: 2.25rem; /* 36px */
--font-xxl-size: 3rem; /* 48px */
--line-height: 1.5;
--line-lg-height: 1.3125rem; /* 21px */
--line-xl-height: 1.5rem; /* 24px */
--line-xxl-height: 3.5rem; /* 56px */
--font-thin: 100;
--font-xlt: 200;
--font-lt: 300;
--font-reg: 400;
--font-med: 500;
--font-sbold: 600;
--font-bold: 700;
--font-xbold: 800;
--font-black: 900;
--bdr-10-radius: 0.625rem; /* 10px */
--bdr-20-radius: 1.25rem; /* 20px */
--bdr-30-radius: 1.875rem; /* 30px */
}


/* ==============================================
Base CSS
============================================== */
*,
*::before,
*::after {
margin: 0;
padding: 0;
border: none;
outline: none;
box-sizing: border-box;
font-size: 100%;
}

html, body {
height: 100%;
scroll-behavior: smooth;
}


body {
color: var(--thm-gray);
font-size: var(--font-size);
line-height: var(--line-height);
font-weight: var(--font-med);
font-family: var(--thm-font);
transition: background-color 0.3s ease;
}


button, a {
cursor: pointer;
background-color: transparent;
transition: all 0.3s ease-in-out;
}

button:focus, a:focus {
outline: none;
}

h1, h2, h3, h4, h5, h6 {
color: var(--thm-black);
font-weight: var(--font-xbold);
line-height: 1.25em;
font-family: var(--thm-font);
margin: 0;
}

h3 {
font-size: var(--font-lg-size);
line-height: 1.5em;
font-weight: var(--font-bold);
}

a {
text-decoration: none;
outline: none;
border: none;
color: inherit;
}

textarea:focus {
outline: none;
}

*::-moz-selection, ::-moz-selection, ::selection {
background: var(--thm-black);
color: var(--white-color);
text-shadow: none;
}

*::placeholder {
color: #555555;
opacity: 1;
}

img {
max-width: 100%;
height: auto;
display: block;
transition: transform 0.7s ease-in-out;
}

.parallax-scene {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1;
}

.fancybox-image,
.fancybox-spaceball {
border-radius: var(--bdr-10-radius);
}

.map-data {
text-align: center;
font-size: 0.875rem; /* 14px */
font-weight: var(--font-reg);
line-height: 1.8em;
padding: 5px 10px;
}

.map-data a {
color: #0b59d9;
display: block;
}

.map-data h6 {
font-size: 1rem; /* 16px */
font-weight: var(--font-bold);
text-align: center;
margin-bottom: 0.3125rem; /* 5px */
color: #121212;
}

i {
font-style: normal;
}

ul,
li {
list-style: none;
margin: 0;
padding: 0;
}

ol,
li {
margin: 0;
padding: 0;
}


.auto-container {
max-width: var(--main-container);
padding: 0 15px;
margin-left: auto;
margin-right: auto;
}


/* ==============================================
Buttons
============================================== */
.btn-one {
position: relative;
display: inline-block;
overflow: hidden;
padding: 0.4375rem 3.75rem 0.1875rem;
background-color: var(--thm-primary);
color: var(--thm-black);
font-size: 0.875rem; /* 14px */
line-height: 3.125rem; /* 50px */
font-weight: var(--font-xbold);
letter-spacing: 0.1em;
text-transform: uppercase;
font-family: var(--thm-font);
z-index: 1;
}

.btn-one::before {
content: "";
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 100%;
transform: translateX(-100%);
background-color: var(--thm-base);
transition: transform 0.8s ease;
z-index: -1;
}

.btn-one:hover::before {
transform: translateX(0);
}

.btn-one .txt {
position: relative;
display: flex;
align-items: center;
z-index: 2;
}

.btn-one .arrow {
position: relative;
top: -0.125rem; /* 2px */
display: inline-block;
padding-left: 0.625rem; /* 10px */
font-size: 1rem; /* 16px */
font-weight: var(--font-reg);
transition: transform 0.2s ease;
}

.btn-one:hover,
.btn-one:focus {
color: var(--white-color);
}

.btn-two {
position: relative;
display: inline-block;
color: var(--white-color);
font-size: 0.875rem; /* 14px */
font-weight: var(--font-reg);
line-height: 1.25rem; /* 20px */
text-transform: uppercase;
font-family: var(--thm-font-2);
transition: color 0.2s ease;
}


.btn-two span {
position: relative;
top: 0.1875rem; /* 3px */
display: inline-block;
padding-right: 0.625rem; /* 10px */
line-height: 0.9375rem; /* 15px */
transform: rotate(180deg);
}

.btn-two span::before {
position: relative;
top: 0.1875rem; /* 3px */
display: inline-block;
color: var(--thm-black);
font-size: 1.5625rem; /* 25px */
font-weight: var(--font-reg);
z-index: 1;
}

.btn-two span::after {
content: "";
position: absolute;
top: 0;
right: 1.25rem; /* 20px */
bottom: 0;
width: 1.25rem; /* 20px */
height: 1.25rem; /* 20px */
background: var(--white-color);
border-radius: 50%;
transition: transform 0.2s ease;
}

.btn-two:hover span::after {
transform: scale(1.1);
}

.btn-two:hover {
color: var(--thm-base);
}

/* ==============================================
Checkbox
============================================== */
.checked-box1 {
position: relative;
display: block;
min-height: 2.5rem; /* 40px */
}

.checked-box1 label {
position: relative;
display: inline-block;
padding-left: 3.125rem; /* 50px */
color: #585858;
font-size: 0.875rem; /* 14px */
line-height: 1.375rem; /* 22px */
font-weight: var(--font-reg);
cursor: pointer;
min-height: 2.5rem; /* 40px */
font-family: var(--thm-font);
}

.checked-box1 input[type="checkbox"] {
display: none;
}

.checked-box1 input[type="checkbox"] + label span {
position: absolute;
display: block;
top: 0.25rem; /* 4px */
left: 0;
width: 2.5rem; /* 40px */
height: 2.5rem; /* 40px */
vertical-align: middle;
background-color: var(--white-color);
border: 1px solid #dae5ec;
cursor: pointer;
border-radius: 50%;
transition: all 0.3s ease;
}

.checked-box1 label span::before {
content: "";
position: absolute;
top: 0.25rem; /* 4px */
left: 0.25rem; /* 4px */
width: 1.875rem; /* 30px */
height: 1.875rem; /* 30px */
background: var(--thm-primary);
border-radius: 50%;
transform: scale(0);
transition: transform 0.3s ease;
}

.checked-box1 input[type="checkbox"]:checked + label span {
border-color: #dae5ec;
}

.checked-box1 input[type="checkbox"]:checked + label span::before {
transform: scale(1);
}

.checked-box2 {
position: relative;
display: block;
min-height: 1.875rem; /* 30px */
}

.checked-box2 label {
position: relative;
display: inline-block;
padding-left: 1.875rem; /* 30px */
color: #757575;
font-size: 1rem; /* 16px */
line-height: 1.375rem; /* 22px */
font-weight: var(--font-reg);
cursor: pointer;
min-height: 1.875rem; /* 30px */
font-family: var(--thm-font);
}

.checked-box2 input[type="checkbox"] {
display: none;
}

.checked-box2 input[type="checkbox"] + label span {
position: absolute;
top: 0.3125rem; /* 5px */
left: 0;
width: 1rem; /* 16px */
height: 1rem; /* 16px */
vertical-align: middle;
background-color: #f5f5f5;
border: 1px solid #e5e5e5;
cursor: pointer;
border-radius: 0.1875rem; /* 3px */
transition: all 0.3s ease;
}

.checked-box2 label span::before {
font-family: var(--font-awesome);
content: "\f00c";
position: absolute;
top: 0;
left: 0;
width: 1rem; /* 16px */
height: 1rem; /* 16px */
color: var(--thm-base);
font-size: 0.625rem; /* 10px */
line-height: 1rem; /* 16px */
text-align: center;
opacity: 0;
transition: opacity 0.3s ease;
}

.checked-box2 input[type="checkbox"]:checked + label span {
border-color: #dedede;
}

.checked-box2 input[type="checkbox"]:checked + label span::before {
opacity: 1;
}

/* ==============================================
Social Links
============================================== */
.thm-social-link1 {
position: relative;
display: block;
}

.thm-social-link1 ul {
position: relative;
display: flex;
}

.thm-social-link1 ul li {
margin-right: 0.625rem; /* 10px */
}

.thm-social-link1 ul li:last-child {
margin-right: 0;
}

.thm-social-link1 ul li a {
position: relative;
display: block;
width: 2.5rem; /* 40px */
height: 2.5rem; /* 40px */
background: var(--thm-base);
border-radius: 50%;
border: 2px solid var(--thm-base);
color: var(--thm-black);
font-size: 0.875rem; /* 14px */
line-height: 2.25rem; /* 36px */
text-align: center;
z-index: 1;
transition: color 0.5s ease;
}

.thm-social-link1 ul li a::before {
content: "";
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: var(--thm-black);
border-radius: 50%;
z-index: -1;
transform: scale(0);
transform-origin: center;
transition: transform 0.4s cubic-bezier(0.62, 0.21, 0.45, 1.52);
}

.thm-social-link1 ul li a:hover::before {
transform: scale(1);
}

.thm-social-link1 ul li a:hover {
color: var(--white-color);
}

.thm-social-link2 {
position: relative;
display: block;
}

.thm-social-link2 ul {
position: relative;
overflow: hidden;
display: flex;
}

.thm-social-link2 ul li {
margin-right: 1.25rem; /* 20px */
}

.thm-social-link2 ul li:last-child {
margin-right: 0;
}

.thm-social-link2 ul li a {
display: block;
color: #909090;
font-size: 1rem; /* 16px */
line-height: 1.875rem; /* 30px */
transition: color 0.5s ease;
}

.thm-social-link2 ul li a:hover {
color: var(--thm-primary);
}

/* ==============================================
Background
============================================== */
.parallax-bg-one {
background-attachment: fixed;
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
position: relative;
z-index: 1;
}

.parallax-bg-one::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(18, 32, 0, 0.90);
z-index: -1;
}

/* ==============================================
Owl Carousel
============================================== */
.owl-theme .owl-prev span,
.owl-theme .owl-next span {
/* Additional styling if needed */
}

.owl-nav-style-one {
/* Additional styling if needed */
}

.owl-nav-style-one .owl-controls {
/* Additional styling if needed */
}

.owl-nav-style-one.owl-theme .owl-stage-outer {
position: relative;
display: block;
padding-top: 0;
padding-bottom: 0;
}

.owl-nav-style-one.owl-theme .owl-nav {
position: relative;
display: block;
line-height: 0;
z-index: 10;
}

.owl-nav-style-one.owl-theme .owl-nav [class*="owl-"] {
position: relative;
display: inline-block;
width: 3.75rem; /* 60px */
height: 3.75rem; /* 60px */
border-radius: 0;
margin: 0;
padding: 0;
transition: background-color 0.7s ease;
}

.owl-nav-style-one.owl-theme .owl-nav [class*="owl-"]::before {
content: "\f149";
font-family: flaticon !important;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
border: 2px solid var(--white-color);
color: var(--thm-base);
font-size: 1.125rem; /* 18px */
line-height: 3.5rem; /* 56px */
font-weight: var(--font-sbold);
text-align: center;
transition: border-color 0.4s ease;
}

.owl-nav-style-one.owl-theme .owl-nav [class*="owl-"]:hover::before {
border-color: var(--thm-base);
}

.owl-nav-style-one.owl-theme .owl-nav [class*="owl-"] span {
display: none;
}

.owl-nav-style-one.owl-theme .owl-nav .owl-prev {
transform: rotate(-270deg);
margin-right: 0.625rem; /* 10px */
}

.owl-nav-style-one.owl-theme .owl-nav .owl-next {
transform: rotate(270deg);
}

.owl-nav-style-one.owl-theme .owl-nav [class*="owl-"]:hover {
background-color: var(--thm-base);
}

.owl-nav-style-one.owl-theme .owl-nav [class*="owl-"]:hover::before {
color: var(--white-color);
}


/* ==============================================
Owl Dots
============================================== */
.owl-carousel.owl-dot-style1 .owl-dots {
position: relative;
text-align: center;
line-height: 0;
margin-top: 0 !important;
display: block;
}

.owl-carousel.owl-dot-style1 .owl-dots .owl-dot {
position: relative;
display: inline-block;
width: 0.6875rem; /* 11px */
height: 0.6875rem; /* 11px */
background-color: rgba(var(--thm-base-rgb), 0.2);
border: 0;
margin: 0 0.3125rem; /* 5px */
padding: 0;
border-radius: 50%;
transition: background-color 0.1s ease;
}

.owl-carousel.owl-dot-style1 .owl-dots .owl-dot::before {
content: "";
position: absolute;
top: -0.125rem; /* 2px */
left: -0.125rem; /* 2px */
bottom: -0.125rem; /* 2px */
right: -0.125rem; /* 2px */
border-radius: 50%;
background: var(--thm-primary);
transform: scale(0);
transition: transform 0.5s ease;
}

.owl-carousel.owl-dot-style1 .owl-dots .owl-dot.active {
background: var(--thm-primary);
}

.owl-carousel.owl-dot-style1 .owl-dots .owl-dot.active::before {
transform: scale(1);
}

.owl-carousel.owl-dot-style1 .owl-dots .owl-dot span {
/* Additional styling if needed */
}

.owl-carousel.owl-dot-style1 .owl-dots .owl-dot.active span {
/* Additional styling if needed */
}

/* ==============================================
Animations
============================================== */
@keyframes pulse {
50% {
box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.1),
0 0 0 20px rgba(238, 238, 238, 0.3);
}
}

@keyframes pulse2 {
50% {
box-shadow: 0 0 0 5px rgba(255, 231, 1, 0.1),
0 0 0 20px rgba(255, 231, 1, 0.3);
}
}

/* ==============================================
Rating Box
============================================== */
.rating-box {
position: relative;
display: block;
overflow: hidden;
}

.rating-box ul {
overflow: hidden;
display: flex;
}

.rating-box ul li {
margin-right: 0.3125rem; /* 5px */
}

.rating-box ul li:last-child {
margin-right: 0;
}

.rating-box ul li a {
font-size: 1.25rem; /* 20px */
font-weight: var(--font-reg);
transition: color 0.2s ease;
}


/* ==============================================
Boxed Wrapper
============================================== */
.boxed_wrapper {
position: relative;
margin: 0 auto;
overflow: hidden !important;
background: var(--white-color);
width: 100%;
min-width: 320px;
}

/* ==============================================
Styled Pagination
============================================== */
.styled-pagination {
position: relative;
display: block;
width: 100%;
padding-top: 0.625rem; /* 10px */
}

.styled-pagination.pdtop0 {
padding-top: 0;
}

.styled-pagination li {
margin-right: 0.375rem; /* 6px */
display: inline-block;
}

.styled-pagination li:last-child {
margin-right: 0;
}

.styled-pagination li.prev a {
transform: rotate(0deg);
}

.styled-pagination li a span::before {
position: relative;
top: 0.375rem; /* 6px */
font-size: 1.5625rem; /* 25px */
}

.styled-pagination li.prev a span.left {
position: relative;
top: 0.0625rem; /* 1px */
}

.styled-pagination li.next a span.right {
position: relative;
top: 0.125rem; /* 2px */
}

.styled-pagination li a {
position: relative;
display: inline-block;
width: 3.4375rem; /* 55px */
height: 3.4375rem; /* 55px */
border-radius: 0;
background: #f5f5f5;
border: 1px solid #f5f5f5;
color: var(--thm-black);
font-size: 1.125rem; /* 18px */
line-height: 3.3125rem; /* 53px */
font-weight: var(--font-sbold);
text-align: center;
text-transform: uppercase;
transition: color 0.5s ease, background-color 0.5s ease;
font-family: var(--thm-font);
z-index: 1;
}

.styled-pagination li:hover a,
.styled-pagination li.active a {
color: var(--white-color);
border-color: var(--thm-base);
background: var(--thm-base);
}

.styled-pagination li.prev a,
.styled-pagination li.next a {
color: var(--thm-base);
transition: color 0.2s ease;
}

.styled-pagination li.prev a:hover,
.styled-pagination li.next a:hover {
color: var(--white-color);
}

/* ==============================================
Color Switcher
============================================== */
.switcher {
position: fixed;
top: 20rem; /* 320px */
z-index: 99;
}

.switcher .switch_btn {
position: absolute;
top: 0;
right: -3.125rem; /* 50px */
z-index: -1;
}

.switcher .switch_btn button {
width: 3.125rem; /* 50px */
height: 3.125rem; /* 50px */
color: var(--white-color);
line-height: 3.125rem; /* 50px */
cursor: pointer;
border-radius: 0;
transition: background-color 0.5s ease;
background: rgba(0, 0, 0, 0.9);
}

.switcher .switch_menu {
position: absolute;
width: 13.75rem; /* 220px */
height: 1.875rem; /* 30px */
background: transparent;
display: none;
top: 0;
left: 3.75rem; /* 60px */
margin: 0.625rem 0; /* 10px */
}

.switcher #styleOptions li {
display: inline-block;
width: 1.875rem; /* 30px */
height: 1.875rem; /* 30px */
margin-right: 0.1875rem; /* 3px */
}

.switcher #styleOptions li:last-child {
margin-right: 0;
}

.switcher #styleOptions li a {
display: inline-block;
width: 100%;
height: 100%;
border-radius: 50%;
box-shadow: 0 0 0 0 var(--white-color);
}

.switcher #styleOptions li a.blue-color {
background: #1266e3;
}

.switcher #styleOptions li a.pink-color {
background: #e70887;
}

.switcher #styleOptions li a.violet-color {
background: #6936d8;
}

.switcher #styleOptions li a.crimson-color {
background: #ba0913;
}

.switcher #styleOptions li a.orange-color {
background: #FFA500;
}

.switcher #styleOptions li a.green-color {
background: #95c41f;
}

/* ==============================================
Search Popup
============================================== */
.serach-button-style1 {
position: relative;
display: block;
}

.serach-button-style1 .search-toggler {
display: block;
width: 4.375rem; /* 70px */
height: 2.5rem; /* 40px */
background: rgba(var(--white-color-rgb), 0.05);
border-radius: 0;
color: var(--thm-black);
font-size: 1.5625rem; /* 25px */
line-height: 2.875rem; /* 46px */
font-weight: var(--font-reg);
cursor: pointer;
border-left: 1px solid rgba(var(--thm-base-rgb), 0.1);
transition: color 0.5s ease;
}

.serach-button-style1 .search-toggler:hover {
color: var(--thm-base);
}
/* ==============================================
Search Popup (Continued)
============================================== */
.search-popup {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 99999;
visibility: hidden;
opacity: 0;
overflow: auto;
background: rgba(0, 0, 0, 0.9);
transform: translateY(101%);
transition: transform 0.7s ease, opacity 0.7s ease;
}

.search-popup.popup-visible {
transform: translateY(0);
visibility: visible;
opacity: 1;
}

.search-popup .overlay-layer {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
display: block;
}

.search-popup .close-search {
position: absolute;
right: 1.5625rem; /* 25px */
top: 1.5625rem; /* 25px */
font-size: 1.375rem; /* 22px */
color: var(--white-color);
cursor: pointer;
background-image: url(../images/icon/icon-cross.png);
width: 2.5rem; /* 40px */
height: 2.5rem; /* 40px */
z-index: 5;
transition: all 0.5s ease;
}

.search-popup .search-form {
position: relative;
padding: 0 0.9375rem; /* 15px */
max-width: 64rem; /* 1024px */
margin: 9.375rem auto 6.25rem; /* 150px, auto, 100px */
opacity: 0;
transform: translateY(3.125rem); /* 50px */
z-index: 10;
}

.search-popup.popup-visible .search-form {
opacity: 1;
transform: translateY(0);
transition: all 0.5s ease 0.5s;
}

.search-popup .search-form .form-group {
margin-bottom: 1.875rem; /* 30px */
}

.search-popup .search-form fieldset {
position: relative;
border-radius: 0.75rem; /* 12px */
}

.search-popup .search-form fieldset input[type="search"] {
position: relative;
height: 4.375rem; /* 70px */
padding: 1.25rem 15.625rem 1.25rem 1.875rem; /* 20px, 250px, 20px, 30px */
background: var(--white-color);
line-height: 1.875rem; /* 30px */
font-size: 1.5rem; /* 24px */
color: #233145;
border-radius: 0.4375rem; /* 7px */
}

.search-popup .search-form fieldset input[type="submit"] {
position: absolute;
right: 0;
top: 0;
width: 13.75rem; /* 220px */
height: 4.375rem; /* 70px */
padding: 1.25rem 0.625rem; /* 20px, 10px */
color: var(--white-color) !important;
line-height: 1.875rem; /* 30px */
font-size: 1.25rem; /* 20px */
cursor: pointer;
text-transform: uppercase;
border-radius: 0 0.4375rem 0.4375rem 0; /* 0, 7px, 7px, 0 */
background: var(--thm-base);
}

.search-popup .search-form fieldset input[type="submit"]:hover {
transform: translateY(0px);
}


.search-popup h3 {
text-transform: uppercase;
font-size: 1.25rem; /* 20px */
font-weight: var(--font-sbold);
color: var(--white-color);
margin-bottom: 1.25rem; /* 20px */
letter-spacing: 1px;
text-align: center;
}

.search-popup .recent-searches {
font-size: 1rem; /* 16px */
color: var(--white-color);
text-align: center;
}

.search-popup .recent-searches li {
display: inline-block;
margin: 0 0.625rem 0.625rem 0; /* 10px, 10px, 0 */
}

.search-popup .recent-searches li a {
display: block;
line-height: 1.5rem; /* 24px */
border: 1px solid var(--white-color);
padding: 0.4375rem 0.9375rem; /* 7px, 15px */
color: var(--white-color);
border-radius: 0.1875rem; /* 3px */
transition: all 0.5s ease;
}

.search-popup .recent-searches li a:hover {
border-color: var(--thm-base);
background-color: var(--thm-base);
}

.serach-button-style1--instyle2 {
margin-left: 0;
margin-right: 0;
}

.serach-button-style1--instyle2 .search-toggler {
color: var(--white-color);
border-left: 1px solid rgba(var(--white-color-rgb), 0.2);
}

.serach-button-style1--instyle2 .search-toggler:hover {
color: var(--thm-black);
}

/* ==============================================
Preloader
============================================== */
.preloader {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 9999999999;
background-position: center;
background-repeat: no-repeat;
background-image: url(../images/icon/preloader.svg);
}

.preloader-close {
position: fixed;
z-index: 999999;
color: var(--white-color);
padding: 0.625rem 1.25rem; /* 10px, 20px */
cursor: pointer;
right: 0;
bottom: 0;
font-weight: var(--font-sbold);
background-color: var(--thm-black);
}

.loader-wrap {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 999999;
}

.loader-wrap .layer-one,
.loader-wrap .layer-two,
.loader-wrap .layer-three {
position: absolute;
top: 0;
height: 100%;
overflow: hidden;
}

.loader-wrap .layer-one {
left: 0;
width: 33.3333%;
}

.loader-wrap .layer-two {
left: 33.3333%;
width: 33.3333%;
}

.loader-wrap .layer-three {
left: 66.6666%;
width: 33.3333%;
}


.loader-wrap .layer .overlay {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: var(--thm-base);
}


/* ==============================================
Scroll To Top
============================================== */
.scroll-top {
position: fixed;
right: 0.9375rem; /* 15px */
bottom: 1.25rem; /* 20px */
width: 3.75rem; /* 60px */
height: 3.75rem; /* 60px */
border-radius: 50%;
background-color: var(--white-color);
border: 2px solid var(--white-color);
color: var(--thm-base);
font-size: 1.25rem; /* 20px */
line-height: 3.5rem; /* 56px */
font-weight: var(--font-bold);
text-align: center;
text-transform: uppercase;
display: none;
cursor: pointer;
transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
z-index: 999999999;
}

.scroll-top::after {
content: '';
position: absolute;
top: 100%;
left: 5%;
width: 90%;
height: 0.625rem; /* 10px */
opacity: 1;
z-index: -1;
background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 80%);
}

.scroll-top::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 100%;
border-radius: 50%;
background: transparent;
transform: translate(-50%, -50%);
animation-delay: 0.9s;
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.9);
animation: ripple 3s infinite;
transition: all 0.4s ease;
}


.scroll-top:hover {
color: var(--white-color);
background-color: var(--thm-black);
border-color: var(--thm-black);
}

/* ==============================================
Form Validation
============================================== */
input:focus,
textarea:focus,
select:focus {
border-color: #43c3ea;
}

#contact-form input[type="text"].error,
#contact-form input[type="email"].error,
#contact-form select.error,
#contact-form textarea.error {
border-color: red;
}

/* ==============================================
Overlays
============================================== */
.overlay-style-one {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(218, 60, 34, 0.8);
opacity: 0;
transition: opacity 0.7s ease-in-out;
z-index: 1;
}

.overlay-style-one .box {
display: table;
height: 100%;
width: 100%;
}

.overlay-style-one .box .content,
.overlay-style-one .box .inner {
display: table-cell;
text-align: center;
vertical-align: middle;
}

.overlay-style-two {
position: absolute;
left: 0;
bottom: 0;
right: 0;
top: 0;
z-index: 2;
opacity: 0;
transition: opacity 0.9s ease;
}

.overlay-style-two::before,
.overlay-style-two::after {
content: "";
position: absolute;
left: 0;
width: 100%;
display: block;
opacity: 0;
text-align: center;
transition: transform 0.5s ease;
background-color: rgba(18, 18, 18, 0.9);
}

.overlay-style-two::before {
top: 0;
height: 50%;
transform: perspective(400px) rotateX(-90deg);
transform-origin: top;
}

.overlay-style-two::after {
bottom: 0;
height: 50%;
transform: perspective(400px) rotateX(90deg);
transform-origin: bottom;
}

/* ==============================================
Review Box
============================================== */
.review-box {
position: relative;
display: block;
overflow: hidden;
line-height: 16px;
}

.review-box > ul {
display: block;
overflow: hidden;
display: flex;
}

.review-box > ul > li {
margin: 0 1px;
}

.review-box > ul > li:last-child {
margin-right: 0;
}

.review-box > ul > li > i {
display: inline-block;
color: #ffa800;
font-size: 1.125rem; /* 18px */
font-weight: var(--font-med);
cursor: pointer;
transition: color 0.2s ease;
}

.review-box > ul > li:hover > i {
color: var(--thm-gray);
}

/* ==============================================
Header Styles (Update header Style)
============================================== */
@keyframes menu_sticky {
0% {
margin-top: -5.625rem; /* 90px */
}
50% {
margin-top: -4.625rem; /* 74px */
}
100% {
margin-top: 0;
}
}

/* ==============================================
Mobile Menu
============================================== */
.nav-outer .mobile-nav-toggler {
display: none;
float: right;
cursor: pointer;
padding: 1.875rem 0; /* 30px */
}

.nav-outer.style1 .mobile-nav-toggler {
padding: 2.1875rem 0; /* 35px */
}

.nav-outer.style2 .mobile-nav-toggler {
padding: 1.5625rem 0; /* 25px */
}

.nav-outer.style3 .mobile-nav-toggler {
padding: 1.875rem 0; /* 30px */
}

.nav-outer .mobile-nav-toggler .inner {
position: relative;
display: block;
padding: 0.1875rem 0.3125rem; /* 3px 5px */
background: var(--thm-base);
}

.nav-outer.style2 .mobile-nav-toggler .inner {
background-color: var(--thm-black);
}

.mobile-menu {
position: fixed;
top: 0;
right: 0;
width: 18.75rem; /* 300px */
max-width: 100%;
height: 100%;
padding-right: 1.875rem; /* 30px */
opacity: 0;
visibility: hidden;
z-index: 999999;
}

.mobile-menu .menu-backdrop {
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 100%;
background-color: rgba(9, 16, 32, 0.9);
transform: translateX(101%);
transition: transform 0.9s ease, opacity 0.7s ease;
z-index: 1;
}


.mobile-menu-visible .mobile-menu .menu-backdrop {
opacity: 0.70;
visibility: visible;
transform: translateX(0);
}

.mobile-menu .mCSB_inside > .mCSB_container {
margin-right: 0.3125rem; /* 5px */
}

.mobile-menu .navbar-collapse {
display: block !important;
}

.mobile-menu .nav-logo {
position: relative;
padding: 1.875rem 1.5625rem; /* 30px 25px */
text-align: left;
}

.mobile-menu .nav-logo a {
position: relative;
display: inline-block;
}
.mobile-menu .nav-logo a img{
filter: invert(0.5) brightness(400);
}


.mobile-menu-visible {
overflow: hidden;
}

.mobile-menu-visible .mobile-menu {
opacity: 1;
visibility: visible;
}


.mobile-menu .menu-box {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
max-height: 100%;
overflow-y: auto;
background: #000000;
padding: 0;
z-index: 5;
opacity: 0;
visibility: hidden;
border-radius: 0;
transform: translateX(101%);
transition: transform 0.7s ease, opacity 0.7s ease;

}

.mobile-menu-visible .mobile-menu .menu-box {
opacity: 1;
visibility: visible;
transform: translateX(0);
}

.mobile-menu .close-btn {
position: absolute;
top: 0.625rem; /* 10px */
right: 0.625rem; /* 10px */
color: var(--white-color);
font-size: 1.875rem; /* 30px */
line-height: 1.875rem; /* 30px */
width: 1.875rem; /* 30px */
text-align: center;
cursor: pointer;
z-index: 10;
transition: all 0.9s ease;
}

.mobile-menu-visible .mobile-menu .close-btn {
transform: rotate(360deg);
}

.mobile-menu .close-btn:hover {
color: var(--thm-base);
transform: rotate(90deg);
}

.mobile-menu .navigation {
display: block;
width: 100%;
float: none;
}

.mobile-menu .navigation li {
display: block;
border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.mobile-menu .navigation:last-child {
border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.mobile-menu .navigation li > ul > li:first-child {
border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.mobile-menu .navigation li > a {
display: block;
padding: 0.625rem 1.5625rem; /* 10px 25px */
color: var(--white-color);
font-size: 0.9375rem; /* 15px */
line-height: 1.5rem; /* 24px */
font-weight: var(--font-sbold);
text-transform: uppercase;
transition: color 0.5s ease;
}

.mobile-menu .navigation li > a::before {
content: '';
position: absolute;
left: 0;
top: 0;
height: 0;
border-left: 5px solid var(--thm-base);
transition: height 0.5s ease;
}


.mobile-menu .navigation li.current > a::before {
height: 100%;
}


.mobile-menu .navigation li.current > a,
.mobile-menu .navigation li > a:hover {
color: var(--thm-base);
}

.mobile-menu .navigation li ul li > a {
font-size: 0.9375rem; /* 15px */
font-weight: var(--font-reg);
margin-left: 1.25rem; /* 20px */
text-transform: capitalize;
}

.mobile-menu .navigation li.dropdown .dropdown-btn {
position: absolute;
top: 0.375rem; /* 6px */
right: 0.375rem; /* 6px */
width: 2rem; /* 32px */
height: 2rem; /* 32px */
text-align: center;
color: var(--white-color);
font-size: 1rem; /* 16px */
line-height: 2rem; /* 32px */
background: rgba(255, 255, 255, 0.10);
cursor: pointer;
border-radius: 0.125rem; /* 2px */
transition: transform 0.5s ease;
z-index: 5;
}

.mobile-menu .navigation li.dropdown .dropdown-btn.open {
transform: rotate(90deg);
}

.mobile-menu .navigation li > ul,
.mobile-menu .navigation li > ul > li > ul,
.mobile-menu .navigation > li.dropdown > .megamenu {
display: none;
}

.mobile-menu .social-links {
position: relative;
text-align: center;
padding: 3.125rem 0.9375rem; /* 50px, 15px */
}

.mobile-menu .social-links li {
display: inline-block;
margin: 0 0.0625rem 0.625rem; /* 1px, 10px */
}

.mobile-menu .social-links li a {
position: relative;
display: block;
width: 2.8125rem; /* 45px */
height: 2.8125rem; /* 45px */
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 50%;
background: var(--thm-base);
color: var(--white-color);
font-size: 1rem; /* 16px */
line-height: 2.5625rem; /* 41px */
transition: color 0.5s ease, background-color 0.5s ease;
}

.mobile-menu .social-links li a:hover {
color: var(--thm-base);
background-color: var(--white-color);
}

/* ==============================================
XS Sidebar
============================================== */
.xs-sidebar-group .xs-overlay {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
visibility: hidden;
opacity: 0;
transition: opacity 0.2s ease, visibility 0.2s ease;
cursor: url(../images/icon/cross-out.png), pointer;
z-index: 99999999;
}

.xs-sidebar-group.isActive .xs-overlay {
opacity: 0.8;
visibility: visible;
transition-delay: 0.3s;
right: 0%;
background-color: #000;
}

.xs-sidebar-widget {
position: fixed;
top: 0;
left: -100%;
bottom: 0;
width: 100%;
max-width: 22.8125rem; /* 365px */
background-color: #2c2c2c;
overflow-y: auto;
visibility: hidden;
opacity: 1;
z-index: 999999999;
transition: left 0.7s ease 0.1s, visibility 0.7s ease, opacity 0.7s ease;
}

.xs-sidebar-group.isActive .xs-sidebar-widget {
left: 0;
opacity: 1;
visibility: visible;
transition: left 0.5s ease 0.8s;
}

.sidebar-textwidget {
padding: 4.375rem 1.875rem; /* 70px 30px */
}

.sidebar-widget-container {
position: relative;
top: 9.375rem; /* 150px */
opacity: 0;
visibility: hidden;
transition: all 0.3s ease 0.1s;
}

.xs-sidebar-group.isActive .sidebar-widget-container {
top: 0;
opacity: 1;
visibility: visible;
transition: all 0.7s ease 1.5s;
}

.xs-overlay {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
opacity: 0.8;
z-index: 0;
background-color: #000;
}

.xs-sidebar-group .widget-heading {
position: absolute;
top: 0;
right: 0;
padding: 1.5625rem; /* 25px */
}

.xs-sidebar-group .widget-heading a {
position: relative;
display: inline-block;
width: 1.875rem; /* 30px */
height: 1.875rem; /* 30px */
line-height: 1.625rem; /* 26px */
text-align: center;
border: 2px solid var(--white-color);
border-radius: 50%;
color: var(--white-color);
font-size: 1rem; /* 16px */
font-weight: var(--font-reg);
transition: color 0.2s ease, border-color 0.2s ease;
}

.xs-sidebar-group .widget-heading a:hover {
color: var(--thm-base);
border-color: var(--thm-base);
}

.xs-sidebar-group .content-inner .logo {
margin-bottom: 1.875rem; /* 30px */
}

.xs-sidebar-group .content-inner .logo a {
display: inline-block;
}

.xs-sidebar-group .content-inner h4 {
font-size: 1.25rem; /* 20px */
line-height: 1.875rem; /* 30px */
color: var(--white-color);
font-weight: var(--font-reg);
text-transform: uppercase;
padding-bottom: 0.875rem; /* 14px */
margin-bottom: 1.875rem; /* 30px */
}

.xs-sidebar-group .content-inner h4::before {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 3.125rem; /* 50px */
height: 2px;
background: var(--thm-base);
}

.xs-sidebar-group .content-inner .content-box {
margin-bottom: 1.875rem; /* 30px */
padding-right: 0.9375rem; /* 15px */
}

.xs-sidebar-group .content-inner .content-box .inner-text {
position: relative;
display: block;
padding-top: 0.125rem; /* 2px */
}

.xs-sidebar-group .content-inner .content-box p {
color: #b0bcc2;
margin: 0;
}

.xs-sidebar-group .content-inner .form-inner .form-group {
position: relative;
margin-bottom: 1.25rem; /* 20px */
}

.xs-sidebar-group .content-inner .form-inner .form-group:last-child {
margin-bottom: 0;
}

.xs-sidebar-group .content-inner .form-inner .form-group input[type="text"],
.xs-sidebar-group .content-inner .form-inner .form-group input[type="email"],
.xs-sidebar-group .content-inner .form-inner .form-group textarea {
display: block;
width: 100%;
height: 3.125rem; /* 50px */
font-size: 0.9375rem; /* 15px */
padding: 0.625rem 1.25rem; /* 10px 20px */
color: #848484;
transition: border-color 0.5s ease;
}

.xs-sidebar-group .content-inner .form-inner .form-group textarea {
resize: none;
height: 7.5rem; /* 120px */
}

.xs-sidebar-group .content-inner .form-inner .form-group button.btn-one {
color: var(--thm-black);
}

.xs-sidebar-group .content-inner .form-inner .form-group input:focus,
.xs-sidebar-group .content-inner .form-inner .form-group textarea:focus {
border-color: #00224f;
}

.sidebar-contact-info {
position: relative;
display: block;
padding-top: 2.6875rem; /* 43px */
}

.sidebar-contact-info ul {
position: relative;
display: block;
padding-bottom: 1.375rem; /* 22px */
}

.sidebar-contact-info ul li {
position: relative;
display: block;
color: #b0bcc2;
line-height: 1.875rem; /* 30px */
margin-bottom: 0.375rem; /* 6px */
}

.sidebar-contact-info ul li:last-child {
margin-bottom: 0;
}

.sidebar-contact-info ul li span {
display: inline-block;
width: 1.5625rem; /* 25px */
}

.sidebar-contact-info ul li span::before {
position: relative;
display: inline-block;
color: var(--thm-base);
top: 0.1875rem; /* 3px */
}

.sidebar-contact-info ul li a {
color: #b0b0bd;
}

.xs-sidebar-group .content-inner .thm-social-link1 {
overflow: hidden;
}


/* ==============================================
Section Titles
============================================== */
.sec-title {
margin-top: -0.5rem; /* -8px */
padding-bottom: 0.9375rem; /* 15px */
}

.sec-title .sub-title {
padding-bottom: 0.5625rem; /* 9px */
}

.sec-title .sub-title h3 {
color: var(--thm-base);
font-size: 1.5rem; /* 24px */
line-height: 2.125rem; /* 34px */
font-family: var(--thm-font-2);
font-weight: var(--font-bold);
}
/* ==============================================
Section Titles (Continued)
============================================== */
.sec-title h2 {
font-size: 3.125rem; /* 50px */
line-height: 1.2em;
font-weight: var(--font-xbold);
text-transform: none;
}

.sec-title--style2 .sub-title h3 {
color: var(--thm-primary);
}

.sec-title--style2 h2 {
color: var(--white-color);
}

/* ==============================================
Animations (Keyframes)
============================================== */
@keyframes slide5 {
from {
background-position: 0 0;
}
to {
background-position: -12.5rem 0; /* -200px */
}
}


/* ==============================================
Features Style 1
============================================== */
.features-style1-area {
position: relative;
display: block;
}

.features-style1__content {
position: relative;
display: block;
z-index: 10;
}

.features-style1__content ul {
position: relative;
display: flex;
background: var(--white-color);
padding: 0 3.125rem; /* 50px */
box-shadow: 0 0.625rem 3.75rem 0 rgba(0, 0, 0, 0.07); /* 10px 60px */
margin-top: -3.75rem; /* -60px */
z-index: 10;
}

.features-style1__content ul li {
position: relative;
display: block;
padding: 0 1.25rem; /* 20px */
padding-top: 3.375rem; /* 54px */
padding-bottom: 2.8125rem; /* 45px */
max-width: 33.333333%;
width: 100%;
}

.features-style1__content ul li::before {
content: "";
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 0.1875rem; /* 3px */
background: var(--thm-primary);
transform: scaleX(0);
transition: transform 0.5s ease;
}

.features-style1__content ul li:hover::before {
transform: scaleX(1);
}

.single-features-style1 {
position: relative;
display: block;
padding-left: 4.6875rem; /* 75px */
}

.single-features-style1 .icon-holder {
position: absolute;
top: 0;
left: 0;
width: 4.6875rem; /* 75px */
height: 4.6875rem; /* 75px */
padding-top: 0.625rem; /* 10px */
}

.single-features-style1 .icon-holder .box {
position: absolute;
top: 0;
right: 0;
width: 2.5rem; /* 40px */
height: 2.5rem; /* 40px */
background-color: rgba(var(--thm-base-rgb), 0.1);
transition: background-color 0.5s ease;
}

.single-features-style1:hover .icon-holder .box {
background-color: var(--thm-primary);
}

.single-features-style1 .icon-holder span::before {
position: relative;
display: inline-block;
color: var(--thm-base);
font-size: 4.0625rem; /* 65px */
line-height: 4.0625rem; /* 65px */
transform: scale(1);
transition: color 0.4s cubic-bezier(0.62, 0.21, 0.45, 1.52), transform 0.4s cubic-bezier(0.62, 0.21, 0.45, 1.52);
}

.single-features-style1:hover .icon-holder span::before {
color: var(--thm-black);
transform: scale(0.9);
}

.single-features-style1 .text-holder {
position: relative;
display: block;
padding-top: 0.4375rem; /* 7px */
padding-left: 0.625rem; /* 10px */
}

.single-features-style1 .text-holder h3 {
font-size: 1.25rem; /* 20px */
line-height: 1.5rem; /* 24px */
margin: 0 0 0.875rem; /* 14px */
}

.single-features-style1 .text-holder h3 a {
color: var(--thm-black);
transition: color 0.2s ease;
}

.single-features-style1 .text-holder h3 a:hover {
color: var(--thm-primary);
}

.single-features-style1 .text-holder p {
margin: 0;
}

/* ==============================================
Features Style 2
============================================== */
.features-style2-area {
position: relative;
display: block;
}

.features-style2-area .auto-container {
max-width: 100%;
padding: 0;
}

.features-style2-area .row {
margin-left: 0;
margin-right: 0;
display: flex;
flex-wrap: wrap;
}

.features-style2-area .row [class*="col-"] {
padding-left: 0;
padding-right: 0;
flex-grow: 0;
}


.single-features-style2-box {
position: relative;
display: block;
overflow: hidden;
background: var(--thm-black);
padding: 3.4375rem 0; /* 55px */
min-height: 22.5rem; /* 360px */
}

.single-features-style2-box .inner-content {
position: relative;
display: block;
max-width: 49.0625rem; /* 785px */
width: 100%;
float: right;
padding: 0 4.6875rem; /* 75px */
}

.single-features-style2-box.left .inner-content {
float: left;
margin-left: 6.25rem; /* 100px */
}

.single-features-style2-box .inner-content .icon {
position: absolute;
top: 1.5625rem; /* 25px */
left: 0;
padding-top: 0.625rem; /* 10px */
}

.single-features-style2-box .inner-content .icon .box {
position: absolute;
top: 0;
right: 0;
width: 2.5rem; /* 40px */
height: 2.5rem; /* 40px */
background: rgba(255, 255, 255, 0.07);
transition: background-color 0.3s ease 0.1s, transform 0.3s ease 0.1s;
}

.single-features-style2-box:hover .inner-content .icon .box {
background: var(--thm-base);
transform: rotate(90deg);
}

.single-features-style2-box .inner-content .icon span::before {
display: inline-block;
color: var(--thm-primary);
font-size: 4.0625rem; /* 65px */
line-height: 4.0625rem; /* 65px */
transform: scale(1);
transition: color 0.2s ease, transform 0.2s ease;
}

.single-features-style2-box:hover .inner-content .icon span::before {
transform: scale(0.8);
}

.single-features-style2-box .inner-content .title {
position: relative;
display: block;
padding-left: 1.25rem; /* 20px */
}

.single-features-style2-box .inner-content .title h3 {
color: #a5b9ad;
font-size: 1.5rem; /* 24px */
line-height: 2.25rem; /* 36px */
font-weight: var(--font-bold);
font-family: var(--thm-font-2);
margin-bottom: 0.25rem; /* 4px */
}

.single-features-style2-box .inner-content .title h2 {
color: var(--white-color);
font-size: 2.5rem; /* 40px */
line-height: 1.2em;
font-weight: var(--font-bold);
}

.single-features-style2-box .img-bg {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-attachment: scroll;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}

/* ==============================================
Features Style 3
============================================== */
.features-style3-area {
position: relative;
display: block;
padding: 7.5rem 0; /* 120px */
background: var(--white-color);
z-index: 10;
}

.features-style3__bg {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-position: center;
background-attachment: scroll;
background-size: cover;
background-repeat: no-repeat;
background-color: var(--thm-black);
background-blend-mode: luminosity;
z-index: -1;
}

.features-style3__bg::before {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: rgba(var(--thm-black-rgb), 0.85);
z-index: -2;
content: "";
}

.features-style3__content {
position: relative;
display: block;
}

.features-style3__content .sec-title {
padding-bottom: 2.125rem; /* 34px */
}

.features-style3__content .video-btn {
position: relative;
display: block;
}

.features-style3__content .video-btn .icon {
position: relative;
display: inline-block;
}

.features-style3__content .video-btn .icon .video-popup {
display: block;
width: 6.25rem; /* 100px */
height: 6.25rem; /* 100px */
line-height: 6.25rem; /* 100px */
color: var(--white-color);
font-size: 1.25rem; /* 20px */
text-align: center;
background: var(--thm-base);
}

.features-style3__content .video-btn .icon .video-popup span::before {
position: relative;
top: 0.1875rem; /* 3px */
}

.features-style3__list {
position: relative;
display: block;
overflow: hidden;
}

.features-style3__list ul {
position: relative;
display: block;
float: left;
}

.features-style3__list ul.style2 {
position: relative;
display: block;
float: left;
padding-left: 4.6875rem; /* 75px */
}

.features-style3__list ul li {
display: block;
color: var(--white-color);
font-size: 1.125rem; /* 18px */
line-height: 2.5rem; /* 40px */
font-weight: var(--font-sbold);
transition: color 0.5s ease;
}

.features-style3__list ul li:hover {
color: var(--thm-primary);
}

.features-style3__list ul li span::before {
display: inline-block;
color: var(--thm-primary);
font-size: 1.25rem; /* 20px */
padding-right: 0.8125rem; /* 13px */
top: 0.1875rem; /* 3px */
}

/* ==============================================
Choose Style 1
============================================== */
.choose-style1-area {
position: relative;
display: block;
margin-bottom: -6.25rem; /* -100px */
z-index: 10;
}

.choose-style1__title-box {
position: relative;
display: block;
background: var(--thm-base);
padding: 3.875rem 3.75rem; /* 62px 60px */
}

.choose-style1__title-box .sec-title--style2 h2 {
color: var(--white-color);
font-size: 1.875rem; /* 30px */
line-height: 2.5rem; /* 40px */
font-weight: var(--font-xbold);
}

.choose-style1__title-box .text p,
.choose-style1__title-box .text ul {
color: var(--white-color);
}

.choose-style1__title-box .btn-box {
display: block;
line-height: 0;
}

.choose-style1__title-box .btn-box a {
padding-left: 2.5rem; /* 40px */
padding-right: 2.5rem; /* 40px */
}

.choose-style1__title-box .btn-box a.btn-one::before {
background-color: var(--thm-black);
}

.video-gallery-style2 {
position: relative;
width: 100%;
min-height: 25rem; /* 400px */
}

.video-gallery-style2__bg {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-attachment: scroll;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
background-color: var(--thm-base);
transition: background-color 0.2s ease;
}

.video-gallery-style2 .icon {
position: absolute;
bottom: 0;
right: 0;
display: flex;
align-items: center;
justify-content: center;
width: 6.25rem; /* 100px */
height: 6.25rem; /* 100px */
background: var(--thm-primary);
border-radius: 0;
z-index: 2;
}

.video-gallery-style2 .icon .video-popup {
display: block;
font-size: 1.5625rem; /* 25px */
text-align: center;
}

.video-gallery-style2 .icon .video-popup span::before {
position: relative;
top: 0.25rem; /* 4px */
color: var(--thm-black);
}
/* ==============================================
Slogan Area
============================================== */
.slogan-area {
position: relative;
display: block;
overflow: hidden;
background: var(--thm-base);
padding: 6.25rem 0; /* 100px */
z-index: 10;
}

.slogan-area .row {
align-items: center;
display: flex;
}

.phone-number-box2 {
position: relative;
display: flex;
align-items: center;
}

.phone-number-box2 .icon {
position: relative;
display: block;
width: 4.6875rem; /* 75px */
height: 4.6875rem; /* 75px */
background-color: rgb(30, 50, 38);
border-radius: 50%;
z-index: 1;
text-align: center;
}

.phone-number-box2 .icon span::before {
display: block;
color: var(--thm-primary);
font-size: 1.5625rem; /* 25px */
line-height: 4.6875rem; /* 75px */
text-align: center;
transition: color 0.2s ease;
}

.phone-number-box2 .icon::before {
content: "";
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
border-radius: 50%;
background: var(--thm-primary);
z-index: -1;
transform: scale(0);
transform-origin: center;
transition: transform 0.4s cubic-bezier(0.62, 0.21, 0.45, 1.52);
}

.phone-number-box2:hover .icon::before {
transform: scale(1);
}

.phone-number-box2:hover .icon span::before {
color: var(--white-color);
}


.phone-number-box2 .phone {
position: relative;
display: block;
padding-left: 1.875rem; /* 30px */
}

.phone-number-box2 .phone p {
position: relative;
display: block;
top: 0.3125rem; /* 5px */
color: var(--thm-primary);
font-size: 1.5rem; /* 24px */
line-height: 1.625rem; /* 26px */
font-weight: var(--font-bold);
margin: 0 0 1rem; /* 16px */
font-family: var(--thm-font-2);
}

.phone-number-box2 .phone a {
display: inline-block;
color: var(--white-color);
font-size: 2.125rem; /* 34px */
line-height: 2.5rem; /* 40px */
font-weight: var(--font-xbold);
transition: color 0.2s ease;
font-family: var(--thm-font);
}

.phone-number-box2 .phone a:hover {
color: var(--thm-primary);
}

.slogan-text-box {
position: relative;
display: block;
}

.slogan-text-box p {
color: rgba(255, 255, 255, 0.7);
font-size: 1.125rem; /* 18px */
line-height: 2rem; /* 32px */
font-weight: var(--font-med);
margin: 0;
}

.slogan-btn-box {
display: block;
line-height: 0;
}

.slogan-btn-box a {
padding-left: 3.125rem; /* 50px */
padding-right: 3.125rem; /* 50px */
}

.slogan-btn-box a::before {
background-color: var(--thm-black);
}

/* ==============================================
Google Map Style 1
============================================== */
.google-map-style1-area {
position: relative;
display: block;
background: var(--white-color);
z-index: 10;
}

.google-map-style1-area .auto-container {
max-width: 100%;
padding: 0;
}

.home1-page-map-outer {
position: relative;
display: block;
z-index: 10;
}

.home1-page-map-outer .map-canvas {
position: relative;
width: 100%;
height: 34.375rem; /* 550px */
}

/* ==============================================
Working Process
============================================== */
.working-process-area {
position: relative;
display: block;
padding: 0 0 4.375rem; /* 70px */
background: var(--white-color);
z-index: 10;
}

.working-process-area.pdtop120 {
padding-top: 7.5rem; /* 120px */
}

.working-process-area .sec-title {
padding-bottom: 5rem; /* 80px */
}

.working-process__inner {
position: relative;
display: block;
z-index: 1;
}

.working-process__inner .horizontal-line {
position: absolute;
top: 5.625rem; /* 90px */
left: -5.625rem; /* -90px */
right: -5.625rem; /* -90px */
height: 1px;
background: #cad7cf;
}

.working-process__inner .horizontal-line::before {
content: "";
position: absolute;
top: -0.3125rem; /* 5px */
left: 0;
width: 0.6875rem; /* 11px */
height: 0.6875rem; /* 11px */
border-radius: 50%;
background: var(--thm-primary);
}

.working-process__inner .horizontal-line::after {
content: "";
position: absolute;
top: -0.3125rem; /* 5px */
right: 0;
width: 0.6875rem; /* 11px */
height: 0.6875rem; /* 11px */
border-radius: 50%;
background: var(--thm-primary);
}

.working-process-box {
position: relative;
display: flex;
flex-wrap: wrap;
counter-reset: count;
}


.single-working-process {
position: relative;
display: block;
flex: 0 0 25%;
max-width: 25%;
text-align: center;
padding: 0 1.875rem 0; /* 30px */
margin-bottom: 2.375rem; /* 38px */
z-index: 1;
}

.single-working-process .icon-holder {
display: flex;
align-items: center;
justify-content: center;
position: relative;
display: block;
width: 11.25rem; /* 180px */
height: 11.25rem; /* 180px */
margin: 0 auto;
background-color: var(--thm-base);
border-radius: 50%;
}

.single-working-process .icon-holder::after {
content: "";
position: absolute;
top: -2.25rem; /* -36px */
left: -2.25rem; /* -36px */
bottom: -2.25rem; /* -36px */
right: -2.25rem; /* -36px */
border: 1px solid #cad7cf;
border-radius: 50%;
z-index: -2;
}

.single-working-process .icon-holder::before {
content: "";
position: absolute;
left: -2.25rem; /* -36px */
bottom: -2.3125rem; /* -37px */
right: -2.25rem; /* -36px */
height: 7.9375rem; /* 127px */
background: var(--white-color);
z-index: -1;
}

.single-working-process:nth-child(2n + 2) .icon-holder::before {
top: -2.3125rem; /* -37px */
bottom: auto;
height: 8rem; /* 128px */
}

.single-working-process .icon-holder span::before {
position: relative;
color: var(--white-color);
font-size: 3.75rem; /* 60px */
line-height: 3.75rem; /* 60px */
transition: all 0.7s ease-in-out 0.1s;
z-index: 5;
}

.single-working-process:hover .icon-holder span::before {
transform: scale(1.0) rotate(1deg);
}


.single-working-process .counting-box {
position: absolute;
left: 0;
bottom: 0;
width: 3.125rem; /* 50px */
height: 3.125rem; /* 50px */
background: var(--thm-primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}

.single-working-process .counting-box.top {
left: auto;
bottom: auto;
top: 0;
right: 0;
}

.single-working-process .counting-box::before {
content: "0" counter(count);
position: absolute;
display: flex;
align-items: center;
justify-content: center;
top: 0;
left: 0;
bottom: 0;
right: 0;
color: var(--thm-black);
font-size: 1.25rem; /* 20px */
font-weight: var(--font-bold);
counter-increment: count;
transition: all 0.1s ease;
font-family: var(--thm-font);
}

.single-working-process .text-holder {
position: relative;
display: block;
padding-top: 4.375rem; /* 70px */
}

.single-working-process .text-holder h3 {
font-size: 1.5rem; /* 24px */
line-height: 1.5rem; /* 24px */
font-weight: var(--font-bold);
margin-bottom: 0.9375rem; /* 15px */
}

.single-working-process .text-holder p {
margin: 0;
}

.single-working-process .text-holder .btn-box {
position: relative;
display: block;
padding-top: 0.9375rem; /* 15px */
}

.single-working-process .text-holder p {
margin: 0;
}

/* ==============================================
Industries Details
============================================== */
.industries-details-area {
position: relative;
display: block;
background: var(--white-color);
padding: 7.5rem 0; /* 120px */
z-index: 10;
}

.industries-details__content {
position: relative;
display: block;
}

.industries-details__content .single-service-style2 {
margin-bottom: 3.125rem; /* 50px */
}

.industries-details__text-box {
position: relative;
display: block;
}

.industries-details__text-box .text {
position: relative;
display: block;
}

.industries-details__text-box .text h2 {
font-size: 2.5rem; /* 40px */
line-height: 3.125rem; /* 50px */
font-weight: var(--font-xbold);
margin: 0 0 1.6875rem; /* 27px */
}

.industries-details__text-box .text-right-box {
position: relative;
display: block;
padding-top: 4.8125rem; /* 77px */
}

.industries-details__text-box .text-right-box ul {
position: relative;
display: block;
padding-top: 1.0625rem; /* 17px */
}

.industries-details__text-box .text-right-box ul li {
position: relative;
display: block;
padding-left: 1.875rem; /* 30px */
color: var(--thm-black);
font-size: 1.125rem; /* 18px */
font-weight: var(--font-sbold);
line-height: 1.625rem; /* 26px */
margin-bottom: 0.75rem; /* 12px */
}

.industries-details__text-box .text-right-box ul li::before {
font-family: 'icomoon' !important;
content: "\e90f";
position: absolute;
top: 0;
left: 0;
bottom: 0;
color: var(--thm-primary);
font-size: 1.375rem; /* 22px */
font-weight: var(--font-reg);
}

.industries-details__text-box .text-right-box ul li:last-child {
margin-bottom: 0;
}

.industries-details__features-box {
position: relative;
display: block;
border-bottom: 1px solid #cad7cf;
padding-top: 3.25rem; /* 52px */
padding-bottom: 4.0625rem; /* 65px */
}

.industries-details__features-box__single {
position: relative;
display: block;
margin-bottom: 2.6875rem; /* 43px */
}

.industries-details__features-box__single .img-holder {
position: relative;
display: block;
overflow: hidden;
}

.industries-details__features-box__single .img-holder img {
width: 100%;
}

.industries-details__features-box__single .text-holder {
position: relative;
display: block;
padding-top: 2.625rem; /* 42px */
}

.industries-details__features-box__single .text-holder::before {
content: "";
position: absolute;
top: 0.625rem; /* 10px */
left: 0;
right: 0;
height: 0.3125rem; /* 5px */
background: var(--thm-base);
}

.industries-details__features-box__single .text-holder h3 {
font-size: 1.5rem; /* 24px */
line-height: 1.875rem; /* 30px */
font-weight: var(--font-xbold);
margin: 0 0 0.5625rem; /* 9px */
}
/* ==============================================
Industries Details (Continued)
============================================== */
.industries-details__features-box__single .text-holder p {
margin: 0;
}

/* ==============================================
Contact Info Style 1
============================================== */
.contact-info-style1-area {
position: relative;
display: block;
background: var(--white-color);
padding: 0 0 7.5rem; /* 120px */
z-index: 10;
}

.contact-info-style1__box {
position: relative;
display: block;
}

.contact-form {
position: relative;
display: block;
}

.contact-form.max-width {
max-width: 48.125rem; /* 770px */
margin: 0 auto;
}

.contact-form form {
position: relative;
display: block;
}

.contact-form form .input-box {
position: relative;
display: block;
margin-bottom: 1.25rem; /* 20px */
}

.contact-form form input[type="text"],
.contact-form form input[type="email"],
.contact-form form textarea,
.contact-form form select {
position: relative;
display: block;
background-color: #ebf1ed;
width: 100%;
height: 3.875rem; /* 62px */
border: 1px solid #ebf1ed;
color: #737c76;
font-size: 0.875rem; /* 14px */
font-weight: var(--font-med);
font-style: normal;
padding-left: 1.875rem; /* 30px */
padding-right: 1.875rem; /* 30px */
border-radius: 0;
transition: border-color 0.5s ease;
font-family: var(--thm-font);
}

.contact-form form textarea {
height: 9.6875rem; /* 155px */
padding-top: 0.75rem; /* 12px */
padding-bottom: 0.625rem; /* 10px */
}

.contact-form form input[type="text"]::-webkit-input-placeholder,
.contact-form form input[type="email"]::-webkit-input-placeholder,
.contact-form form textarea::-webkit-input-placeholder {
color: #737c76;
}

.contact-form form input[type="text"]:-moz-placeholder,
.contact-form form input[type="email"]:-moz-placeholder,
.contact-form form textarea:-moz-placeholder {
color: #737c76;
}

.contact-form form input[type="text"]::-moz-placeholder,
.contact-form form input[type="email"]::-moz-placeholder,
.contact-form form textarea::-moz-placeholder {
color: #737c76;
}

.contact-form form input[type="text"]:-ms-input-placeholder,
.contact-form form input[type="email"]:-ms-input-placeholder,
.contact-form form textarea:-ms-input-placeholder {
color: #737c76;
}

.contact-form form .button-box {
position: relative;
display: block;
padding-top: 0.625rem; /* 10px */
}

.contact-form form .button-box button {
padding-top: 0.5625rem; /* 9px */
padding-bottom: 0.3125rem; /* 5px */
}

/* ==============================================
Animations (Continued - iliketomoveit)
============================================== */
@keyframes iliketomoveit {
0% {
left: 0;
}
25% {
left: 25rem; /* 400px */
}
75% {
left: 12.5rem; /* 200px */
}
100% {
left: 0;
}
}

/* ==============================================
Error Page
============================================== */
.error-page-area {
position: relative;
display: block;
padding: 7.1875rem 0 7.5rem; /* 115px 120px */
background: var(--white-color);
z-index: 10;
}

.error-content {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

.error-content .big-title {
position: relative;
display: block;
z-index: 1;
}

.error-content .big-title h2 {
color: var(--thm-base);
font-size: 4.5rem; /* 72px */
line-height: 4.375rem; /* 70px */
font-weight: var(--font-xbold);
text-transform: uppercase;
}

.error-content .title {
position: relative;
display: block;
padding-top: 1.0625rem; /* 17px */
padding-bottom: 1.5rem; /* 24px */
}

.error-content .title h2 {
font-size: 3rem; /* 48px */
line-height: 3.75rem; /* 60px */
font-weight: var(--font-bold);
}

.error-content .text {
position: relative;
display: block;
padding-bottom: 1.8125rem; /* 29px */
}

.error-content .text p {
margin: 0;
}

.error-page-search-box {
position: relative;
display: block;
max-width: 35.625rem; /* 570px */
width: 100%;
margin: 0 auto;
}

.error-page-search-box form.search-form {
position: relative;
display: block;
width: 100%;
}

.error-page-search-box .search-form input[type="text"] {
position: relative;
display: block;
width: 100%;
height: 3.75rem; /* 60px */
border-radius: 0;
background: var(--white-color);
border: 1px solid #e5e5e5;
color: #757575;
font-size: 1rem; /* 16px */
font-weight: var(--font-reg);
letter-spacing: 0.1em;
padding-left: 1.875rem; /* 30px */
padding-right: 3.75rem; /* 60px */
transition: all 0.5s ease;
font-family: var(--thm-font);
}

.error-page-search-box .search-form button {
position: absolute;
top: 0.625rem; /* 10px */
right: 0.625rem; /* 10px */
bottom: 0.625rem; /* 10px */
width: 2.5rem; /* 40px */
height: 2.5rem; /* 40px */
background: var(--thm-base);
color: var(--white-color);
font-size: 1rem; /* 16px */
line-height: 0.625rem; /* 10px */
display: block;
text-align: center;
border: none;
transition: all 0.5s ease;
}

.error-page-search-box .search-form button i {
font-size: 1rem; /* 16px */
}

.error-page-search-box .search-form input[type="text"]:focus {
color: var(--thm-black);
border-color: var(--thm-base);
}

.error-page-search-box .search-form input[type="text"]:focus + button,
.error-page-search-box .search-form button:hover {
color: var(--white-color);
}

.error-page-search-box .search-form input::-webkit-input-placeholder {
color: #757575;
}

.error-page-search-box .search-form input:-moz-placeholder {
color: #757575;
}

.error-page-search-box .search-form input::-moz-placeholder {
color: #757575;
}

.error-page-search-box .search-form input:-ms-input-placeholder {
color: #757575;
}


.error-content .btns-box {
line-height: 0;
padding-top: 1.25rem; /* 20px */
}

.error-content .btns-box a {
padding-left: 2.5rem; /* 40px */
padding-right: 2.5rem; /* 40px */
}

/* ==============================================
Main Contact Form
============================================== */
.main-contact-form-area {
position: relative;
display: block;
background: var(--white-color);
padding: 7.5rem 0; /* 120px */
z-index: 10;
}

.contact-info-box {
position: relative;
display: block;
}

.contact-info-box .sec-title {
padding-bottom: 1.5625rem; /* 25px */
}

.contact-info-box .text {
position: relative;
display: block;
}

.contact-info-box .text p {
margin: 0;
}

.contact-info-list {
position: relative;
display: block;
margin-top: 2.375rem; /* 38px */
}

.contact-info-list li {
position: relative;
display: block;
margin-bottom: 1.25rem; /* 20px */
}

.contact-info-list li .icon,
.contact-info-list li .text {
display: table-cell;
vertical-align: middle;
}

.contact-info-list li .icon {
position: relative;
width: 3.75rem; /* 60px */
height: 3.75rem; /* 60px */
background: var(--thm-primary);
border-radius: 50%;
text-align: center;
color: var(--thm-black);
font-size: 0.9375rem; /* 15px */
}

.contact-info-list li .icon span::before {
display: block;
line-height: 3.75rem; /* 60px */
}

.contact-info-list li .text {
position: relative;
padding-left: 1.25rem; /* 20px */
}

.contact-info-list li .text p {
font-size: 0.875rem; /* 14px */
line-height: 1.25rem; /* 20px */
margin: 0 0 0.625rem; /* 10px */
}

.contact-info-list li .text h4 {
font-size: 1.125rem; /* 18px */
line-height: 1.25rem; /* 20px */
}

.contact-info-list li .text h4 a {
color: var(--thm-black);
}

.contact-info-list li .text h4 a:hover {
color: var(--thm-primary);
}

.contact-form--style2 {
position: relative;
display: block;
max-width: 35.625rem; /* 570px */
background: var(--white-color);
box-shadow: 0 0.625rem 3.75rem 0 rgba(0, 0, 0, 0.07),
inset 0 0.625rem 0 0 rgba(0, 105, 64, 0.004);
padding: 3.625rem 4.375rem 3rem; /* 58px 70px 48px */
}

.contact-form--style2::before {
position: absolute;
top: 0;
left: 0;
right: 0;
background: var(--thm-base);
height: 0.625rem; /* 10px */
content: "";
}

.contact-form--style2 .sec-title {
padding-bottom: 0.875rem; /* 14px */
}

.contact-form--style2 form .button-box {
padding-top: 0;
}

.contact-form--style2 form textarea {
height: 6.875rem !important; /* 110px */
padding-top: 1.25rem; /* 20px */
}

.contact-form--style2 form .input-box {
margin-bottom: 0.9375rem; /* 15px */
}

.contact-form--style2 form input[type="text"],
.contact-form--style2 form input[type="email"],
.contact-form--style2 form textarea {
height: 3.25rem; /* 52px */
}

/* ==============================================
Google Map Area
============================================== */
.google-map-area {
position: relative;
display: block;
background: var(--white-color);
z-index: 10;
}

.google-map-area .auto-container {
max-width: 100%;
padding: 0;
}

.contact-page-map-outer {
position: relative;
display: block;
z-index: 10;
}

.contact-page-map-outer .map-canvas {
position: relative;
width: 100%;
height: 42.1875rem; /* 675px */
}

/* ==============================================
UI Datepicker (jQuery UI)
============================================== */
#ui-datepicker-div.ui-widget-content {
border: 1px solid #c5c5c5;
background: var(--white-color);
border: 1px solid #777;
color: #252525;
font-family: "Poppins", sans-serif;
font-size: 0.875rem; /* 14px */
border-radius: 0;
width: 16.875rem; /* 270px */
padding: 0.3125rem; /* 5px */
}

#ui-datepicker-div.ui-datepicker .ui-datepicker-header {
background: var(--thm-base);
border: 2px solid rgba(var(--thm-base-rgb), 0.8);
border-radius: 0;
color: var(--white-color);
font-weight: var(--font-bold);
padding: 0.3125rem 0; /* 5px */
position: relative;
}

.ui-datepicker td a {
color: #000 !important;
text-align: center;
background-image: none !important;
background: #f5f5f5 !important;
border: 1px solid #f9f9f9 !important;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid var(--thm-base) !important;
background: var(--thm-base) !important;
color: var(--white-color) !important;
}

.ui-datepicker .ui-datepicker-prev {
left: 0.3125rem; /* 5px */
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
border-radius: 30%;
height: 1.25rem; /* 20px */
position: absolute;
top: 0.4375rem; /* 7px */
width: 1.25rem; /* 20px */
transition: background-color 0.5s ease;
cursor: pointer;
}

.ui-datepicker .ui-datepicker-next {
right: 0.3125rem; /* 5px */
}

.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
top: 0.4375rem; /* 7px */
background: var(--white-color);
border: none;
}

.ui-datepicker table {
border-collapse: collapse;
font-size: 0.8125rem; /* 13px */
margin: 0 0 0.25rem; /* 4px */
width: 100%;
z-index: 99999999;
}

.ui-datepicker th {
border: none;
font-weight: var(--font-sbold);
padding: 0.125rem 0.1875rem; /* 2px 3px */
text-align: center;
}

.ui-datepicker-calendar .ui-state-default:hover,
.ui-datepicker-calendar .ui-state-default:active {
background: #43c3ea;
color: var(--white-color);
border-color: #43c3ea;
}

/* ==============================================
Single Video Style 2
============================================== */
.single-video-style2 {
position: relative;
display: block;
margin-bottom: 2.5rem; /* 40px */
box-shadow: rgba(100, 100, 111, 0.2) 0 0.4375rem 1.8125rem 0; /* 7px 29px */
}

.single-video-style2 .img-holder {
border-radius: 0.625rem; /* 10px */
overflow: hidden;
position: relative;
}

.single-video-style2 .img-holder span {
position: absolute;
color: var(--white-color);
font-size: 1.5rem; /* 24px */
top: 50%;
left: 0;
text-align: center;
font-weight: var(--font-bold);
width: 100%;
padding: 0.9375rem; /* 15px */
transform: translateY(-50%);
display: flex;
flex-direction: column;
gap: 0.9375rem; /* 15px */
align-items: center;
}

.single-video-style2 .img-holder span i {
width: 3.75rem; /* 60px */
height: 2.5rem; /* 40px */
line-height: 2.5rem; /* 40px */
font-size: 1.1875rem; /* 19px */
background: #FF0000;
border-radius: 0.3125rem; /* 5px */
text-align: center;
}
/* ==========================================================================
Forceful Override CSS for Google Translate - Max Specificity & !important
========================================================================== */

/* --- 1. General Container Styling - MAX Specificity & !important --- */
body #google_translate_element { /* Added 'body ' to selector - increase specificity */
margin-top: 15px !important;
margin-bottom: 15px !important;
display: inline-block !important;
position: fixed !important;
bottom: 1.0625rem !important;
z-index: 99999 !important;
left: 1.4375rem !important;
}

/* --- 2. Dropdown Trigger Styling (Language Selector Button) - MAX Specificity & !important --- */
body #google_translate_element .goog-te-gadget { /* Added 'body #google_translate_element ' */
font-family: var(--thm-font), sans-serif !important;
font-size: 16px !important;
color: var(--thm-text-color) !important;
}

body #google_translate_element .goog-te-gadget-simple { /* Added 'body #google_translate_element ' */
background-color: #fff !important;
border: 1px solid var(--thm-border-color) !important;
padding: 10px 20px !important;
border-radius: 8px !important;
cursor: pointer !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
transition: all 0.3s ease-in-out !important;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08) !important;
}

body #google_translate_element .goog-te-gadget-simple:hover { /* Added 'body #google_translate_element ' */
background-color: var(--thm-primary-lighter) !important;
border-color: var(--thm-primary) !important;
color: #fff !important;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12) !important;
transform: translateY(-2px) !important;
}

body #google_translate_element .goog-te-gadget-simple span { /* Added 'body #google_translate_element ' */
margin-right: 10px !important;
}

body #google_translate_element .goog-te-gadget-icon { /* Added 'body #google_translate_element ' */
/* Example: Style the default arrow color */
/* filter: invert(40%) sepia(50%) saturate(2000%) hue-rotate(200deg) brightness(100%) contrast(100%) !important; */
/* Or, to hide the default arrow: */
/* display: none !important; */
}

/* --- 3. Styling the Dropdown Menu (Language List) - MAX Specificity & !important --- */
body #google_translate_element .goog-te-menu-frame { /* Added 'body #google_translate_element ' */
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
border: 1px solid var(--thm-border-color) !important;
border-radius: 10px !important;
overflow: hidden !important;
z-index: 100001 !important;
}

body #google_translate_element .goog-te-menu2 { /* Added 'body #google_translate_element ' */
background-color: #fff !important;
padding: 15px 0 !important;
}

body #google_translate_element .goog-te-menu2-item { /* Added 'body #google_translate_element ' */
padding: 12px 25px !important;
font-size: 15px !important;
color: var(--thm-body-text) !important;
cursor: pointer !important;
transition: background-color 0.2s ease-in-out !important;
}

body #google_translate_element .goog-te-menu2-item:hover { /* Added 'body #google_translate_element ' */
background-color: var(--thm-gray-lightest) !important;
color: var(--thm-primary) !important;
}

body #google_translate_element .goog-te-menu2-item-selected { /* Added 'body #google_translate_element ' */
background-color: var(--thm-primary-light) !important;
color: #fff !important;
font-weight: 600 !important;
}

/* --- 4. Fixed Positioning at Bottom-Left Corner - Already Max Specificity & !important --- */
/* --- 5. Responsive Adjustments for Smaller Screens - Already using sufficient specificity --- */
/* --- 6. Optional: Hide "Powered by Google Translate" Balloon - Already Max Specificity & !important --- */
/* --- 7. Accessibility Considerations - Already sufficient specificity --- */
body #google_translate_element .goog-te-gadget-simple:focus, /* Added 'body #google_translate_element ' */
body #google_translate_element .goog-te-menu2-item:focus { /* Added 'body #google_translate_element ' */
outline: 2px solid var(--thm-primary) !important;
outline-offset: 2px !important;
}

/* ==========================================================================
Important Notes (MAX Override Version):
- **MAX Specificity Selectors:**  CSS selectors are prefixed with `body #google_translate_element ` to drastically increase specificity.
- **!important - Everywhere (Almost):** `!important` is used on nearly every property value to force overrides.
- **Inspect Element - ESSENTIAL:**  After applying, use "Inspect Element" to VERY CAREFULLY verify that these rules are now being applied and overriding Google's styles. Look for your rules in the "Styles" panel and check if Google's styles are crossed out.
- **If Still Not Working:** If even this MAX override CSS doesn't work, then:
a) **Check for Inline Styles:** Look for `style="..."` attributes directly on Google Translate elements in "Inspect Element". If inline styles exist, we'll need to target them, but this is less likely.
b) **JavaScript Manipulation (Next Step):** If CSS *absolutely fails*, we might need to resort to JavaScript to directly set styles after Google Translate initializes.
- **Color Variables & Testing:**  Remember to replace `--thm-...` variables and TEST thoroughly.
========================================================================== */
/* ==============================================
Responsive Design
============================================== */
@media (max-width: 1200px) {
.auto-container {
max-width: 960px;
}

.features-style1__content ul{
padding: 0 20px;
}
.features-style1__content ul li{
padding: 0 10px;
padding-top: 30px;
padding-bottom: 30px;
}
.single-features-style1 .icon-holder{
width: 50px;
height: 50px;
}
.single-features-style1 .icon-holder span::before{
font-size: 40px;
}
.single-features-style1{
padding-left: 60px;
}

}


@media (max-width: 991px) {
.auto-container {
max-width: 720px;
}

.features-style3__list ul.style2 {
padding-left: 0px;
}
.features-style3__list ul li{
font-size: 16px;
}
.features-style3__list ul li span::before{
font-size: 18px;
padding-right: 8px;
}

.styled-pagination li a{
width: 45px;
height: 45px;
line-height: 45px;
font-size: 16px;
}
.styled-pagination li a span::before {
font-size: 22px;
}
}

@media (max-width: 767px) {
.auto-container {
max-width: 540px;
}
.mobile-menu{
width: 280px;
}

.features-style1__content ul li{
max-width: 100%;
padding: 0 10px;
}

.single-features-style2-box .inner-content{
max-width: 100%;
padding: 0 30px;
}

.single-features-style2-box.left .inner-content {
margin-left: 30px;
}
.working-process-box{
display: block;
}
.single-working-process{
flex: 0 0 100%;
max-width: 100%;
width: 100%;
padding: 0;
margin-bottom: 50px;
}
.working-process__inner .horizontal-line{
display: none;
}
.single-working-process .icon-holder:before,
.single-working-process .icon-holder:after{
display: none;
}
.single-working-process .text-holder{
padding-top: 30px;
}
.single-working-process .counting-box{
bottom: auto;
top: 0;
left: auto;
right: 0;
}
.choose-style1__title-box{
padding: 30px;
}

}

@media (max-width: 575px) {
.auto-container {
padding: 0 10px;
}
.sec-title h2{
font-size: 35px;
line-height: 45px;
}
.single-features-style2-box .inner-content .title h2 {
font-size: 30px;
line-height: 40px;
}
.industries-details__text-box .text h2{
font-size: 30px;
line-height: 40px;
}
.error-content .big-title h2{
font-size: 50px;
line-height: 50px;
}
.error-content .title h2{
font-size: 35px;
line-height: 45px;
}
.contact-form--style2{
padding: 30px;
}
.search-popup .search-form{
margin-top: 80px;
margin-bottom: 50px;
}
.search-popup .search-form fieldset input[type="search"]{
padding: 20px 150px 20px 20px;
font-size: 20px;
}
.search-popup .search-form fieldset input[type="submit"]{
width: 150px;
}
.search-popup .close-search{
right: 10px;
top: 10px;
width: 30px;
height: 30px;
}
}

/* --- Custom CSS for a Professional Ecommerce Look --- */

/* Main Product Details Section */
.product-details-summary h2 {
font-size: 34px;
font-weight: 700;
margin-bottom: 10px;
line-height: 1.3;
}
.product-price {
font-size: 38px;
font-weight: 700;
color: #ff6347; /* Your theme's accent color */
margin-bottom: 15px;
}
.stock-status {
font-size: 16px;
font-weight: 600;
color: #26a269; /* Green for 'in stock' */
margin-bottom: 25px;
}
.stock-status .fa {
margin-right: 8px;
}

/* Key Features Box */
.product-key-features {
background-color: #fff9f5; /* Light accent background from your theme */
border-left: 4px solid #ff6347;
padding: 20px 25px;
margin-bottom: 30px;
border-radius: 0 5px 5px 0;
}
.product-key-features p {
font-size: 17px;
line-height: 1.7;
color: #555;
margin: 0;
}

/* WhatsApp Button */
.whatsapp-btn {
display: inline-block;
padding: 18px 40px;
background-color: #25D366; /* Official WhatsApp Green */
color: #fff !important; /* Important to override theme styles */
font-size: 20px;
font-weight: bold;
border-radius: 8px;
text-decoration: none;
transition: all 0.3s ease;
border: none;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.whatsapp-btn:hover {
background-color: #128C7E; /* Darker WhatsApp Green */
color: #fff !important;
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
.whatsapp-btn .fab {
margin-right: 12px;
font-size: 24px;
vertical-align: middle;
}

/* Tabbed Description Section */
.product-description-tabs {
margin-top: 60px;
border-top: 1px solid #e5e5e5;
padding-top: 40px;
}
.product-description-tabs h3 {
font-size: 24px;
font-weight: 700;
margin-bottom: 20px;
}

/* Sidebar Styling */
.sidebar .sidebar-title h3 {
margin-bottom: 20px;
}
.sidebar .service-pages li a {
font-weight: 600;
color: #333;
}
.sidebar .service-pages li a:hover {
color: #ff6347;
}

/* ======================================================= */
/* == CSS FOR DIWALI POPUP MODAL - START == */
/* ======================================================= */

/* -- Main Popup Overlay -- */
.diwali-popup-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
backdrop-filter: blur(5px);
display: none; /* Hidden by default */
justify-content: center;
align-items: center;
z-index: 9999;
opacity: 0;
transition: opacity 0.3s ease-in-out;
}

.diwali-popup-overlay.show {
opacity: 1;
}

/* -- Popup Content Box -- */
.diwali-popup-content {
background: #fff;
padding: 30px;
border-radius: 15px;
text-align: center;
position: relative;
max-width: 450px;
width: 90%;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
border: 2px solid #ffc107;
transform: scale(0.8);
transition: transform 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

.diwali-popup-overlay.show .diwali-popup-content {
transform: scale(1);
}

.diwali-popup-content img {
max-width: 100%;
margin-bottom: 15px;
border-radius: 10px;
}

.diwali-popup-content h2 {
color: #e67e22;
font-size: 2.2em;
margin: 0 0 10px;
}

.diwali-popup-content p {
color: #333;
font-size: 1.1em;
margin-bottom: 25px;
}

/* -- Close Button -- */
.diwali-popup-close {
position: absolute;
top: 10px;
right: 15px;
font-size: 32px;
font-weight: bold;
color: #555;
cursor: pointer;
transition: transform 0.2s;
}

.diwali-popup-close:hover {
transform: scale(1.2);
color: #000;
}

/* -- Action Button (Assuming you have a .btn-one class) -- */
.diwali-popup-content .btn-one {
display: inline-block;
background: linear-gradient(45deg, #ff8c00, #f53d3d);
color: white;
padding: 12px 25px;
border-radius: 50px;
text-decoration: none;
font-weight: bold;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 107, 8, 0.4);
}

.diwali-popup-content .btn-one:hover {
transform: translateY(-3px);
box-shadow: 0 7px 20px rgba(255, 107, 8, 0.6);
}

/* -- Fireworks Animation -- */
.fireworks-container {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
overflow: hidden;
pointer-events: none; /* Allows clicks to go through to the overlay */
}

.firework {
position: absolute;
width: 6px;
height: 6px;
border-radius: 50%;
background: gold;
opacity: 0;
/* Animation: rocket flying up (fly) + bursting (burst) */
animation: fly 2s ease-in-out infinite, burst 0.5s ease-out infinite;
animation-fill-mode: forwards;
}

/* Using box-shadow to create the burst effect from a single element */
@keyframes fly {
0% { transform: translateY(100vh) scale(0.5); opacity: 1; }
50% { opacity: 1; }
100% { transform: translateY(-10vh) scale(1.2); opacity: 0; }
}

@keyframes burst {
0% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.5); }
50% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.5); }
100% {
box-shadow: 
0 -100px 20px #ffdd00, 0 100px 20px #ffdd00, 
100px 0 20px #ff8800, -100px 0 20px #ff8800,
70px 70px 20px #ff5500, -70px -70px 20px #ff5500,
70px -70px 20px #ff0000, -70px 70px 20px #ff0000;
}
}

/* Randomize position and delays for each firework */
.firework:nth-child(1) { left: 10%; animation-delay: 0s, 2s; }
.firework:nth-child(2) { left: 80%; animation-delay: 0.5s, 2.5s; }
.firework:nth-child(3) { left: 45%; animation-delay: 1s, 3s; }
.firework:nth-child(4) { left: 25%; animation-delay: 1.5s, 3.5s; }
.firework:nth-child(5) { left: 65%; animation-delay: 2s, 4s; }

/* ======================================================= */
/* == CSS FOR DIWALI POPUP MODAL - END == */
/* ======================================================= */

.product-card-home {
background-color: #fff;
border: 1px solid #f0f0f0;
border-radius: 8px;
text-align: center;
margin-bottom: 30px;
overflow: hidden;
transition: all 0.3s ease;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}
.product-card-home:hover {
transform: translateY(-8px);
box-shadow: 0 12px 25px rgba(0, 0, 0, 0.1);
}
.product-card-home__image-holder {
position: relative;
overflow: hidden;
}
.product-card-home__image-holder img {
width: 100%;
height: auto;
transition: transform 0.4s ease;
}
.product-card-home:hover .product-card-home__image-holder img {
transform: scale(1.05);
}
.product-card-home__content {
padding: 25px 25px 30px;
}
.product-card-home__content h3 {
font-size: 20px;
font-weight: 700;
margin-bottom: 10px;
}
.product-card-home__content h3 a {
color: #333;
text-decoration: none;
}
.product-card-home__content h3 a:hover {
color: #ff6347;
}
.product-card-home__content p {
color: #777;
font-size: 15px;
line-height: 1.6;
height: 72px; /* Fixed height for 3 lines of text */
overflow: hidden;
}
.product-card-home__price {
font-size: 24px;
font-weight: 700;
color: #ff6347;
margin: 15px 0;
}
.product-card-home__price--ask {
font-size: 22px;
font-weight: 700;
color: #007bff;
margin: 15px 0;
}