Merge branch 'landing-page-consmatic-changes-migration' into migrate_main

This commit is contained in:
Vikas Nale 2025-11-11 17:34:50 +05:30
commit 8900ed6fc4
90 changed files with 3293 additions and 8202 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

BIN
public/img/hero/bg-01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

BIN
public/img/hero/bg-012.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 KiB

BIN
public/img/hero/bg-02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

BIN
public/img/hero/bg-03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
public/img/hero/bg-1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
public/img/hero/bg-2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
public/img/hero/bg-3.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

Before

Width:  |  Height:  |  Size: 860 KiB

After

Width:  |  Height:  |  Size: 860 KiB

BIN
public/img/icons/ai.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/img/icons/report.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 426 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

View File

@ -1,42 +0,0 @@
<svg width="25" viewBox="0 0 25 42" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path
d="M13.7918663,0.358365126 L3.39788168,7.44174259 C0.566865006,9.69408886 -0.379795268,12.4788597 0.557900856,15.7960551 C0.68998853,16.2305145 1.09562888,17.7872135 3.12357076,19.2293357 C3.8146334,19.7207684 5.32369333,20.3834223 7.65075054,21.2172976 L7.59773219,21.2525164 L2.63468769,24.5493413 C0.445452254,26.3002124 0.0884951797,28.5083815 1.56381646,31.1738486 C2.83770406,32.8170431 5.20850219,33.2640127 7.09180128,32.5391577 C8.347334,32.0559211 11.4559176,30.0011079 16.4175519,26.3747182 C18.0338572,24.4997857 18.6973423,22.4544883 18.4080071,20.2388261 C17.963753,17.5346866 16.1776345,15.5799961 13.0496516,14.3747546 L10.9194936,13.4715819 L18.6192054,7.984237 L13.7918663,0.358365126 Z"
id="path-1"></path>
<path
d="M5.47320593,6.00457225 C4.05321814,8.216144 4.36334763,10.0722806 6.40359441,11.5729822 C8.61520715,12.571656 10.0999176,13.2171421 10.8577257,13.5094407 L15.5088241,14.433041 L18.6192054,7.984237 C15.5364148,3.11535317 13.9273018,0.573395879 13.7918663,0.358365126 C13.5790555,0.511491653 10.8061687,2.3935607 5.47320593,6.00457225 Z"
id="path-3"></path>
<path
d="M7.50063644,21.2294429 L12.3234468,23.3159332 C14.1688022,24.7579751 14.397098,26.4880487 13.008334,28.506154 C11.6195701,30.5242593 10.3099883,31.790241 9.07958868,32.3040991 C5.78142938,33.4346997 4.13234973,34 4.13234973,34 C4.13234973,34 2.75489982,33.0538207 2.37032616e-14,31.1614621 C-0.55822714,27.8186216 -0.55822714,26.0572515 -4.05231404e-15,25.8773518 C0.83734071,25.6075023 2.77988457,22.8248993 3.3049379,22.52991 C3.65497346,22.3332504 5.05353963,21.8997614 7.50063644,21.2294429 Z"
id="path-4"></path>
<path
d="M20.6,7.13333333 L25.6,13.8 C26.2627417,14.6836556 26.0836556,15.9372583 25.2,16.6 C24.8538077,16.8596443 24.4327404,17 24,17 L14,17 C12.8954305,17 12,16.1045695 12,15 C12,14.5672596 12.1403557,14.1461923 12.4,13.8 L17.4,7.13333333 C18.0627417,6.24967773 19.3163444,6.07059163 20.2,6.73333333 C20.3516113,6.84704183 20.4862915,6.981722 20.6,7.13333333 Z"
id="path-5"></path>
</defs>
<g id="g-app-brand" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Brand-Logo" transform="translate(-27.000000, -15.000000)">
<g id="Icon" transform="translate(27.000000, 15.000000)">
<g id="Mask" transform="translate(0.000000, 8.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use fill="#696cff" xlink:href="#path-1"></use>
<g id="Path-3" mask="url(#mask-2)">
<use fill="#696cff" xlink:href="#path-3"></use>
<use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-3"></use>
</g>
<g id="Path-4" mask="url(#mask-2)">
<use fill="#696cff" xlink:href="#path-4"></use>
<use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-4"></use>
</g>
</g>
<g id="Triangle"
transform="translate(19.000000, 11.000000) rotate(-300.000000) translate(-19.000000, -11.000000) ">
<use fill="#696cff" xlink:href="#path-5"></use>
<use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-5"></use>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1,12 @@
const OfwLabel = () => {
return (
<>
<a className="mx-1 text-green" href="/">
<span className="text-blue">OnField</span>
<span>Work</span>
<span className="text-dark">.com</span>
</a>
</>
);
};
export default OfwLabel;

View File

@ -0,0 +1,24 @@
const FeatureCard = ({ imagesrc, title, description }) => {
return (
<>
<div className="col-md-3 px-4">
<div className="row g-4">
<div className="card-slider p-4 bg-light rounded-4 h-100 text-start border">
<div className="feature-icon mb-3 d-flex align-items-center justify-content-middle">
<img
src={imagesrc}
alt={title}
className="w-14 mb-4 feature-icon-image"
/>
<span class="ms-5">
<h5>{title}</h5>
</span>
</div>
<p>{description}</p>
</div>
</div>
</div>
</>
);
};
export default FeatureCard;

View File

@ -1,668 +1,269 @@
.section-py { /* Custom Styles */
padding: 6.25rem 0; .custom-navbar {
background: #efefef;
transition: all 0.3s ease;
padding: 1rem 0;
} }
.section-py .heading { .carousel-item {
font-size: 1.625rem; height: 100vh;
} min-height: 500px;
@media (max-width: 1199.98px) { background-size: cover;
.section-py { background-position: center;
padding: 4rem 0; position: relative;
}
}
@media (max-width: 767.98px) {
.section-py {
padding: 3rem 0;
}
} }
.first-section-pt { .carousel-caption {
padding-top: 11.28rem; bottom: 20%;
}
@media (max-width: 1199.98px) {
.first-section-pt {
padding-top: 7.5rem;
}
} }
.card[class*="card-hover-border-"] { .hero-overlay {
transition: all 0.2s ease-in-out;
}
.banner-bg-img {
position: absolute; position: absolute;
top: 0; inset: 0;
left: 0; background: rgba(0, 0, 0, 0.4);
height: 100%;
width: 100%;
object-fit: cover;
object-position: left;
} }
.section-title-img { .feature-icon {
height: 100%; font-size: 40px;
width: 120%; color: #4fc143;
inset-inline-start: -12%;
top: 10px;
} }
/* .light-style body { /* .text-primary {
background-color: #fff; color: #49bf3c !important;
} */ } */
.dark-style body { /* .btn-primary {
background-color: #2b2c40; background-color: #49bf3c !important;
} */
body {
font-family: "Segoe UI", Roboto, sans-serif;
background-color: #ffff;
} }
nav.layout-navbar { .hero {
/* backdrop-filter: unset; */ background: linear-gradient(135deg, #4fc143, #007bff);
/* background-color: transparent !important; */ color: white;
/* background-color: rgba(214, 36, 33, 0.88) !important; */ padding: 100px 0;
} }
nav.layout-navbar::before { .pricing-card {
position: absolute; transition: transform 0.2s, box-shadow 0.2s;
display: block;
block-size: 100%;
content: "";
inline-size: 100%;
inset-block-start: 0;
inset-inline-start: 0;
} }
nav.layout-navbar .navbar.landing-navbar { .pricing-card:hover {
--bs-front-navbar-bg: rgba(var(--bs-paper-bg-rgb), 0.38); transform: translateY(-5px);
--bs-front-navbar-border-color: rgba(var(--bs-paper-bg-rgb), 0.68); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
border: 2px solid var(--bs-front-navbar-border-color);
background-color: var(--bs-front-navbar-bg);
margin-block-start: 0rem;
padding-block: 0.614rem;
transform: unset;
transition: all 0.2s ease-in-out;
border-radius: 0.375rem;
} }
nav.layout-navbar.navbar-active::after { .feature-icon-image {
backdrop-filter: saturate(100%) blur(6px); width: 50px;
-webkit-backdrop-filter: saturate(100%) blur(6px);
} }
.navbar.landing-navbar { .accordion {
box-shadow: none; --bs-accordion-box-shadow: 0 0.125rem 0.375rem 0 rgba(34, 48, 62, 0.08);
transition: all 0.2s ease-in-out; --bs-accordion-active-box-shadow: 0 0.1875rem 0.5rem 0 rgba(34, 48, 62, 0.1);
transform: unset !important; --bs-accordion-active-bg: #fff;
padding-top: 0.614rem; --bs-accordion-btn-active-bg: #fff;
padding-bottom: 0.614rem; --bs-accordion-btn-focus-box-shadow: none;
margin-top: 1rem; --bs-accordion-btn-focus-shadow-width: 0;
border-width: 2px; --bs-accordion-color: #646e78;
border-style: solid; --bs-accordion-bg: #fff;
border-radius: 0.375rem; --bs-accordion-transition: all 0.2s ease-in-out, border-radius 0.15s ease;
} --bs-accordion-border-color: #fff;
.navbar.landing-navbar .navbar-nav .nav-link { --bs-accordion-border-width: 1px;
padding: 0.5rem 0.625rem; --bs-accordion-border-radius: 0.375rem;
margin-inline-end: 0.625rem; --bs-accordion-inner-border-radius: 0.375rem;
} --bs-accordion-btn-padding-x: 1.4375rem;
@media (max-width: 1199.98px) { --bs-accordion-btn-padding-y: 0.7305rem;
.navbar.landing-navbar .navbar-nav .nav-link { --bs-accordion-btn-color: #384551;
padding-left: 0.5rem; --bs-accordion-btn-bg: #fff;
padding-right: 0.5rem; --bs-accordion-btn-icon: url(
margin-inline-end: 0; data:image/svg + xml,
} %3csvgwidth="20"height="20"viewBox="0 0 20 20"fill="none"xmlns="http://www.w3.org/2000/svg"%3e%3cgid="bx-chevron-down"%3e%3cpathid="Vector"d="M13.5775 7.74417L9.99997 11.3217L6.42247 7.74417L5.24414 8.9225L9.99997 13.6783L14.7558 8.9225L13.5775 7.74417Z"fill="%23384551"fill-opacity="0.9"/%3e%3c/g%3e%3c/svg%3e
} );
.navbar.landing-navbar .navbar-nav .nav-item:last-child .nav-link { --bs-accordion-btn-icon-width: 1.25rem;
margin-inline-end: 0; --bs-accordion-btn-icon-transform: rotate(-180deg);
} --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
@media (min-width: 992px) { --bs-accordion-btn-active-icon: url(
.navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu { data:image/svg + xml,
max-width: 1300px; %3csvgwidth="20"height="20"viewBox="0 0 20 20"fill="none"xmlns="http://www.w3.org/2000/svg"%3e%3cgid="bx-chevron-down"%3e%3cpathid="Vector"d="M13.5775 7.74417L9.99997 11.3217L6.42247 7.74417L5.24414 8.9225L9.99997 13.6783L14.7558 8.9225L13.5775 7.74417Z"fill="%23384551"fill-opacity="0.9"/%3e%3c/g%3e%3c/svg%3e
inset-inline-start: 50% !important; );
transform: translateX(-50%); --bs-accordion-btn-focus-box-shadow: none;
top: 100%; --bs-accordion-body-padding-x: 1.1875rem;
} --bs-accordion-body-padding-y: 1.1875rem;
} --bs-accordion-active-color: #384551;
@media (max-width: 991.98px) { --bs-accordion-active-bg: #fff;
.navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu {
background: transparent;
box-shadow: none;
border: none;
}
}
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu
.mega-dropdown-link {
padding-left: 0;
padding-right: 0;
margin: 0;
font-weight: 400;
}
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu
.mega-dropdown-link
i {
font-size: 1rem;
font-weight: 700;
margin-top: -0.125rem;
}
.navbar.landing-navbar .navbar-nav .nav-item .nav-img-col,
.navbar.landing-navbar .navbar-nav .nav-item .nav-img-col img {
border-radius: 0.625rem;
}
@media (max-width: 991.98px) {
.navbar.landing-navbar .landing-menu-overlay {
position: fixed;
display: none;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(34, 48, 62, 0.78);
transition: all 0.2s ease-in-out;
z-index: 9998;
}
.navbar.landing-navbar .landing-nav-menu {
position: fixed;
display: block !important;
height: 100%;
max-width: 300px;
width: 80%;
padding: 1rem;
inset-inline-start: -100%;
top: 0;
overflow-y: auto;
transition: all 0.3s ease-in-out;
z-index: 9999;
}
.navbar.landing-navbar .landing-nav-menu.show {
inset-inline-start: 0;
}
.navbar.landing-navbar .landing-nav-menu.show ~ .landing-menu-overlay {
display: block;
}
} }
.light-style .layout-navbar .navbar.landing-navbar { .accordion-header {
border-color: rgba(255, 255, 255, 100); line-height: 1.375;
background: rgba(255, 255, 255, 50); margin-bottom: 0;
position: relative;
border-bottom: none;
} }
.light-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link {
color: #384551; .accordion-item {
}
.light-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.show
> .nav-link,
.light-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.active
> .nav-link,
.light-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.show,
.light-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.nav-link.active {
color: #696cff !important;
}
.light-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu
.mega-dropdown-link
i {
color: #646e78; color: #646e78;
} background-color: #fff;
@media (max-width: 991.98px) { border: 1px solid #fff;
.light-style .layout-navbar .navbar.landing-navbar .landing-nav-menu {
background-color: #fff;
}
}
.light-style .layout-navbar.navbar-active .navbar.landing-navbar {
background: #fff;
box-shadow: 0 0.125rem 0.375rem 0 rgba(34, 48, 62, 0.08);
}
.light-style .layout-navbar .menu-text {
color: #384551;
} }
.dark-style .layout-navbar .navbar.landing-navbar { .accordion-item:first-of-type {
border-color: rgba(65, 65, 95, 0.68); border-top-left-radius: 0.375rem;
background-color: rgba(65, 65, 95, 0.38); border-top-right-radius: 0.375rem;
}
.dark-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link {
color: #d5d5e2;
}
.dark-style .layout-navbar .navbar.landing-navbar .navbar-nav .show > .nav-link,
.dark-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.active
> .nav-link,
.dark-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.show,
.dark-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.active {
color: #696cff !important;
}
.dark-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu
.mega-dropdown-link
i {
color: #b2b2c4;
}
@media (max-width: 991.98px) {
.dark-style .layout-navbar .navbar.landing-navbar .landing-nav-menu {
background-color: #2b2c40;
}
}
.dark-style .layout-navbar .navbar .menu-text {
color: #d5d5e2;
}
.dark-style .layout-navbar.navbar-active .navbar.landing-navbar {
background: #2b2c40;
border-color: #2b2c40;
box-shadow: 0 0.125rem 0.375rem 0 rgba(20, 20, 29, 0.2);
} }
@media (min-width: 992px) { .accordion:not(.accordion-custom-button):not(.accordion-arrow-left)
[dir="rtl"] .accordion-item:not(:last-of-type) {
.navbar.landing-navbar margin-block-end: 0.5rem;
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu {
transform: translateX(50%);
}
} }
.landing-footer .footer-link, .accordion-button {
.landing-footer .footer-text { position: relative;
color: #fff; display: flex;
opacity: 0.78; align-items: center;
width: 100%;
padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
font-size: 1rem;
font-weight: 400;
color: var(--bs-accordion-btn-color);
text-align: left;
background-color: var(--bs-accordion-btn-bg);
border: 0;
border-radius: 0;
overflow-anchor: none;
transition: var(--bs-accordion-transition);
} }
.landing-footer .footer-title {
color: #fff; .accordion-button:not(.collapsed) {
opacity: 0.92; color: var(--bs-accordion-active-color);
} background-color: var(--bs-accordion-active-bg);
.landing-footer .footer-bottom-text { box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0
color: #d3d4dc; var(--bs-accordion-border-color);
}
.landing-footer .footer-bottom {
background-color: #f44336;
}
.landing-footer .footer-link {
transition: all 0.2s ease-in-out;
}
.landing-footer .footer-link:hover {
opacity: 1;
}
.landing-footer .footer-top {
padding-top: 1.3rem;
padding-bottom: 1.3rem;
border-top-left-radius: 1.75rem;
border-top-right-radius: 1.75rem;
background-color: #f44336;
}
@media (max-width: 767.98px) {
.landing-footer .footer-top {
padding: 3rem 0;
}
}
.landing-footer .footer-top .footer-bg {
object-position: center;
}
@media (min-width: 992px) {
.landing-footer .footer-logo-description {
max-width: 385px;
}
}
.landing-footer .footer-form {
max-width: 22.25rem;
}
.landing-footer .footer-form input {
background-color: transparent;
border-color: #4e4f6c;
color: #fff;
}
.landing-footer .footer-form input:hover:not([disabled]):not([focus]) {
border-color: #4e4f6c;
}
.landing-footer .footer-form input::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.landing-footer .footer-form label {
color: #d5d5e2;
} }
.section-py { .section-py {
padding: 6.25rem 0; padding: 6.25rem 0;
} min-height: 100vh !important;
@media (max-width: 1199.98px) {
.section-py {
padding: 5rem 0;
}
}
@media (max-width: 767.98px) {
.section-py {
padding: 3rem 0;
}
} }
.landing-hero { .btn-primary {
border-radius: 0 0 3.5rem 3.5rem; --bs-btn-color: #fff;
padding-top: 8.2rem; --bs-btn-bg: #4fc143;
--bs-btn-border-color: #4fc143;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #0b5ed7;
--bs-btn-hover-border-color: #0a58ca;
--bs-btn-focus-shadow-rgb: 49, 132, 253;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0a58ca;
--bs-btn-active-border-color: #0a53be;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #4fc143;
--bs-btn-disabled-border-color: #4fc143;
} }
.landing-hero::after {
content: ""; /* https://codingyaar.com/bootstrap-card-hover-effect-3-background-color-change/# */
position: absolute; .card-slider {
top: 0; border: 0;
left: 0; border-radius: 0;
width: 100%; /* color: #fff; */
height: 100%; box-shadow: 5px 5px 10px #e1e1e1;
z-index: -1; padding: 3em 0;
} /* border-bottom-right-radius: 4em;
@media (min-width: 992px) { border-top-left-radius: 4em; */
.landing-hero .hero-text-box {
/* max-width: 34.375rem; */
max-width: 70%;
margin: 0 auto;
}
}
.landing-hero .hero-title {
background: linear-gradient( background: linear-gradient(
to right, to left,
#28c76f 0%, rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) 50%,
#5a4aff 47.92%, #4fc143 50%
#ff3739 100%
); );
background-size: 200% auto; background-size: 200%;
color: #384551; background-position: right;
font-size: calc(1.3875rem + 1.65vw); transition: background-position 0.5s ease-out;
background-clip: text;
line-height: 1.2;
text-fill-color: transparent;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: shine 2s ease-in-out infinite alternate;
} }
@media (min-width: 1200px) {
.landing-hero .hero-title { .card-slider:hover {
font-size: 2.625rem; background-position: left;
} transform: translateY(-5px);
} }
.landing-hero .landing-hero-btn .hero-btn-item {
inset-inline-start: -94%; .scroll-top.active {
top: 65%; visibility: visible;
opacity: 1;
} }
.landing-hero .hero-animation-img {
margin-bottom: -32rem; .scroll-top {
position: fixed;
visibility: hidden;
opacity: 0;
right: 15px;
bottom: 15px;
z-index: 99999;
background-color: #4fc143;
width: 40px;
height: 40px;
border-radius: 25px;
transition: all 0.4s;
border: 2px solid color-mix(in srgb, #0a53be, transparent 10%);
} }
.animation-img {
border: 1px soid red; .contact-section {
background: #fff;
border-radius: 20px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
padding: 40px 40px;
margin: 60px auto;
max-width: 1100px;
} }
@media (max-width: 1199.98px) {
.landing-hero .hero-animation-img { .contact-img img {
margin-bottom: -20rem;
}
}
@media (max-width: 575.98px) {
.landing-hero .hero-animation-img {
margin-bottom: -10rem;
}
}
.landing-hero .hero-animation-img .hero-dashboard-img {
width: 80%;
margin: 0 auto;
will-change: transform;
transform-style: preserve-3d;
transition: all 0.1s;
}
.landing-hero .hero-animation-img .hero-dashboard-img img {
width: 100%; width: 100%;
border-radius: 15px;
} }
.landing-hero-blank { .contact-text h2 {
padding-top: 26rem; font-size: 2.5rem;
} font-weight: 700;
@media (max-width: 1199.98px) { color: #173b5f;
.landing-hero-blank {
padding-top: 15rem;
}
}
@media (max-width: 575.98px) {
.landing-hero-blank {
padding-top: 7rem;
}
} }
@keyframes shine { .contact-text p {
0% { font-size: 1rem;
background-position: 0% 50%; color: #6c757d;
} margin-top: 15px;
80% { margin-bottom: 25px;
background-position: 50% 90%;
}
100% {
background-position: 91% 100%;
}
}
.landing-features
.features-icon-wrapper
.features-icon-box
.features-icon-description {
max-width: 19.25rem;
margin: 0 auto;
} }
.landing-reviews { .btn-green {
border-top-left-radius: 3.75rem; background-color: #49bf3c;
border-top-right-radius: 3.75rem; color: #fff;
}
.landing-reviews .swiper-reviews-carousel .swiper-button-prev,
.landing-reviews .swiper-reviews-carousel .swiper-button-next {
display: none;
}
.landing-reviews .swiper-reviews-carousel .swiper-slide {
height: auto;
padding: 0.8125rem;
}
.landing-reviews .swiper-reviews-carousel .client-logo {
height: 1.375rem;
object-fit: contain;
}
.landing-reviews .swiper-logo-carousel {
padding-bottom: 6.25rem;
}
.landing-reviews .swiper-logo-carousel .swiper {
max-width: 45rem;
}
.landing-reviews .swiper-logo-carousel .swiper .swiper-slide {
display: flex;
justify-content: center;
}
.landing-reviews .swiper-logo-carousel .swiper .client-logo {
max-height: 2.5rem;
max-width: 95%;
object-fit: contain;
}
.landing-team .card, border-radius: 50px;
.landing-team .card .team-image-box { padding: 10px 30px;
border-top-left-radius: 5.625rem; font-weight: 500;
border-top-right-radius: 1.25rem; text-decoration: none;
transition: all 0.3s ease;
} }
.landing-team .card .card-body { .btn-green:hover {
border-bottom-left-radius: 0.375rem; background-color: #2d8822;
border-bottom-right-radius: 0.375rem; color: #fff;
} }
.landing-team .team-image-box { .btn-ovel-small {
height: 11.5625rem; padding-bottom: 5.072px;
padding-inline-end: 12px;
padding-inline-start: 12px;
padding-left: 12px;
padding-right: 12px;
padding-top: 5.072px;
} }
.landing-team .team-image-box .card-img-position { .btn-square-small {
height: 15rem; border-radius: 3px;
transform: translateX(-50%); padding-bottom: 5.072px;
max-width: 100%; padding-inline-end: 12px;
object-fit: cover; padding-inline-start: 12px;
} padding-left: 12px;
@media (max-width: 991.98px) { padding-right: 12px;
.landing-team .team-image-box .card-img-position { padding-top: 5.072px;
height: 13rem;
}
}
@media (max-width: 575.98px) {
.landing-team .team-image-box {
height: 11rem;
}
}
.landing-team .card .team-media-icons i {
transition: all 0.2s ease-in-out;
}
.landing-pricing {
border-radius: 3.75rem;
}
.landing-pricing .pricing-plans-item {
inset-inline-end: -56%;
bottom: -0.5rem;
}
@media (max-width: 767.98px) {
.landing-pricing .pricing-plans-item {
inset-inline-end: 0;
bottom: 1rem;
}
}
.landing-pricing .pricing-list .badge.badge-center {
width: 1rem;
height: 1rem;
}
.landing-pricing .pricing-list .badge.badge-center i {
margin-top: -5px;
}
.landing-pricing .price-yearly-toggle {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
}
.landing-pricing .card .card-header,
.landing-pricing .card .card-body {
padding: 2rem;
padding-top: 3rem;
}
.landing-faq {
border-top-left-radius: 3.75rem;
border-top-right-radius: 3.75rem;
}
.landing-faq .faq-image {
max-width: 20rem;
width: 80%;
}
.landing-cta .cta-title {
font-size: 2.125rem;
}
@media (max-width: 767.98px) {
.landing-cta .cta-title {
font-size: 1.8rem;
}
}
.landing-contact .text-heading {
overflow-wrap: anywhere;
}
.landing-contact .contact-img-box,
.landing-contact .contact-img-box .contact-img {
border-radius: 3.75rem 0.375rem 0.375rem 0.375rem;
}
.landing-contact .contact-img-box .contact-border-img {
inset-block-start: -2.5rem;
inset-inline-start: -2.8125rem;
}
.light-style .landing-hero {
background: linear-gradient(138.18deg, #eae8fd 0%, #fce5e6 94.44%);
}
.light-style .landing-hero::after {
background-color: #fff;
}
.dark-style .landing-hero {
background: #1e2130;
}
.dark-style .landing-hero::after {
background-color: #2b2c40;
}
[dir="rtl"] .landing-reviews-btns {
display: flex;
justify-content: flex-end;
flex-direction: row-reverse;
gap: 1rem;
}
[dir="rtl"] .landing-team .team-image-box .card-img-position {
transform: translateX(50%) !important;
}
[dir="rtl"] .landing-pricing .switch .switch-label {
padding-right: 0;
}
[dir="rtl"] .landing-pricing .switch .switch-label:first-child {
padding-left: 0.5rem;
}
[dir="rtl"] .landing-pricing .switch .switch-input ~ .switch-label {
padding-right: 3rem;
}
[dir="rtl"] .landing-contact .contact-img-box {
border-radius: 0.375rem 3.75rem 0.375rem 0.375rem;
}
[dir="rtl"] .landing-contact .contact-img-box::before {
inset-block-start: -1.875rem;
inset-inline-start: -3.125rem;
transform: rotate(90deg);
}
.swiper {
width: 100%;
height: 100%;
border-radius: 10px;
}
.swiper-slide {
text-align: center;
font-size: 18px;
/* Center slide text vertically */
display: flex;
justify-content: center;
align-items: center;
}
.swiper-slide img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.light-style .landing-hero {
background: linear-gradient(138.18deg, #eae8fd, #ede7e7 94.44%);
}
.text-green {
color: #49bf3c !important;
}
.text-blue {
color: var(--bs-blue);
} }

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,668 @@
.section-py {
padding: 6.25rem 0;
}
.section-py .heading {
font-size: 1.625rem;
}
@media (max-width: 1199.98px) {
.section-py {
padding: 4rem 0;
}
}
@media (max-width: 767.98px) {
.section-py {
padding: 3rem 0;
}
}
.first-section-pt {
padding-top: 11.28rem;
}
@media (max-width: 1199.98px) {
.first-section-pt {
padding-top: 7.5rem;
}
}
.card[class*="card-hover-border-"] {
transition: all 0.2s ease-in-out;
}
.banner-bg-img {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
object-fit: cover;
object-position: left;
}
.section-title-img {
height: 100%;
width: 120%;
inset-inline-start: -12%;
top: 10px;
}
/* .light-style body {
background-color: #fff;
} */
.dark-style body {
background-color: #2b2c40;
}
nav.layout-navbar {
/* backdrop-filter: unset; */
/* background-color: transparent !important; */
/* background-color: rgba(214, 36, 33, 0.88) !important; */
}
nav.layout-navbar::before {
position: absolute;
display: block;
block-size: 100%;
content: "";
inline-size: 100%;
inset-block-start: 0;
inset-inline-start: 0;
}
nav.layout-navbar .navbar.landing-navbar {
--bs-front-navbar-bg: rgba(var(--bs-paper-bg-rgb), 0.38);
--bs-front-navbar-border-color: rgba(var(--bs-paper-bg-rgb), 0.68);
border: 2px solid var(--bs-front-navbar-border-color);
background-color: var(--bs-front-navbar-bg);
margin-block-start: 0rem;
padding-block: 0.614rem;
transform: unset;
transition: all 0.2s ease-in-out;
border-radius: 0.375rem;
}
nav.layout-navbar.navbar-active::after {
backdrop-filter: saturate(100%) blur(6px);
-webkit-backdrop-filter: saturate(100%) blur(6px);
}
.navbar.landing-navbar {
box-shadow: none;
transition: all 0.2s ease-in-out;
transform: unset !important;
padding-top: 0.614rem;
padding-bottom: 0.614rem;
margin-top: 1rem;
border-width: 2px;
border-style: solid;
border-radius: 0.375rem;
}
.navbar.landing-navbar .navbar-nav .nav-link {
padding: 0.5rem 0.625rem;
margin-inline-end: 0.625rem;
}
@media (max-width: 1199.98px) {
.navbar.landing-navbar .navbar-nav .nav-link {
padding-left: 0.5rem;
padding-right: 0.5rem;
margin-inline-end: 0;
}
}
.navbar.landing-navbar .navbar-nav .nav-item:last-child .nav-link {
margin-inline-end: 0;
}
@media (min-width: 992px) {
.navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu {
max-width: 1300px;
inset-inline-start: 50% !important;
transform: translateX(-50%);
top: 100%;
}
}
@media (max-width: 991.98px) {
.navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu {
background: transparent;
box-shadow: none;
border: none;
}
}
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu
.mega-dropdown-link {
padding-left: 0;
padding-right: 0;
margin: 0;
font-weight: 400;
}
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu
.mega-dropdown-link
i {
font-size: 1rem;
font-weight: 700;
margin-top: -0.125rem;
}
.navbar.landing-navbar .navbar-nav .nav-item .nav-img-col,
.navbar.landing-navbar .navbar-nav .nav-item .nav-img-col img {
border-radius: 0.625rem;
}
@media (max-width: 991.98px) {
.navbar.landing-navbar .landing-menu-overlay {
position: fixed;
display: none;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(34, 48, 62, 0.78);
transition: all 0.2s ease-in-out;
z-index: 9998;
}
.navbar.landing-navbar .landing-nav-menu {
position: fixed;
display: block !important;
height: 100%;
max-width: 300px;
width: 80%;
padding: 1rem;
inset-inline-start: -100%;
top: 0;
overflow-y: auto;
transition: all 0.3s ease-in-out;
z-index: 9999;
}
.navbar.landing-navbar .landing-nav-menu.show {
inset-inline-start: 0;
}
.navbar.landing-navbar .landing-nav-menu.show ~ .landing-menu-overlay {
display: block;
}
}
.light-style .layout-navbar .navbar.landing-navbar {
border-color: rgba(255, 255, 255, 100);
background: rgba(255, 255, 255, 50);
}
.light-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link {
color: #384551;
}
.light-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.show
> .nav-link,
.light-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.active
> .nav-link,
.light-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.show,
.light-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.nav-link.active {
color: #696cff !important;
}
.light-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu
.mega-dropdown-link
i {
color: #646e78;
}
@media (max-width: 991.98px) {
.light-style .layout-navbar .navbar.landing-navbar .landing-nav-menu {
background-color: #fff;
}
}
.light-style .layout-navbar.navbar-active .navbar.landing-navbar {
background: #fff;
box-shadow: 0 0.125rem 0.375rem 0 rgba(34, 48, 62, 0.08);
}
.light-style .layout-navbar .menu-text {
color: #384551;
}
.dark-style .layout-navbar .navbar.landing-navbar {
border-color: rgba(65, 65, 95, 0.68);
background-color: rgba(65, 65, 95, 0.38);
}
.dark-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link {
color: #d5d5e2;
}
.dark-style .layout-navbar .navbar.landing-navbar .navbar-nav .show > .nav-link,
.dark-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.active
> .nav-link,
.dark-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.show,
.dark-style .layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.active {
color: #696cff !important;
}
.dark-style
.layout-navbar
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu
.mega-dropdown-link
i {
color: #b2b2c4;
}
@media (max-width: 991.98px) {
.dark-style .layout-navbar .navbar.landing-navbar .landing-nav-menu {
background-color: #2b2c40;
}
}
.dark-style .layout-navbar .navbar .menu-text {
color: #d5d5e2;
}
.dark-style .layout-navbar.navbar-active .navbar.landing-navbar {
background: #2b2c40;
border-color: #2b2c40;
box-shadow: 0 0.125rem 0.375rem 0 rgba(20, 20, 29, 0.2);
}
@media (min-width: 992px) {
[dir="rtl"]
.navbar.landing-navbar
.navbar-nav
.nav-item.mega-dropdown
> .dropdown-menu {
transform: translateX(50%);
}
}
.landing-footer .footer-link,
.landing-footer .footer-text {
color: #fff;
opacity: 0.78;
}
.landing-footer .footer-title {
color: #fff;
opacity: 0.92;
}
.landing-footer .footer-bottom-text {
color: #d3d4dc;
}
.landing-footer .footer-bottom {
background-color: #f44336;
}
.landing-footer .footer-link {
transition: all 0.2s ease-in-out;
}
.landing-footer .footer-link:hover {
opacity: 1;
}
.landing-footer .footer-top {
padding-top: 1.3rem;
padding-bottom: 1.3rem;
border-top-left-radius: 1.75rem;
border-top-right-radius: 1.75rem;
background-color: #f44336;
}
@media (max-width: 767.98px) {
.landing-footer .footer-top {
padding: 3rem 0;
}
}
.landing-footer .footer-top .footer-bg {
object-position: center;
}
@media (min-width: 992px) {
.landing-footer .footer-logo-description {
max-width: 385px;
}
}
.landing-footer .footer-form {
max-width: 22.25rem;
}
.landing-footer .footer-form input {
background-color: transparent;
border-color: #4e4f6c;
color: #fff;
}
.landing-footer .footer-form input:hover:not([disabled]):not([focus]) {
border-color: #4e4f6c;
}
.landing-footer .footer-form input::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.landing-footer .footer-form label {
color: #d5d5e2;
}
.section-py {
padding: 6.25rem 0;
}
@media (max-width: 1199.98px) {
.section-py {
padding: 5rem 0;
}
}
@media (max-width: 767.98px) {
.section-py {
padding: 3rem 0;
}
}
.landing-hero {
border-radius: 0 0 3.5rem 3.5rem;
padding-top: 8.2rem;
}
.landing-hero::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
@media (min-width: 992px) {
.landing-hero .hero-text-box {
/* max-width: 34.375rem; */
max-width: 70%;
margin: 0 auto;
}
}
.landing-hero .hero-title {
background: linear-gradient(
to right,
#28c76f 0%,
#5a4aff 47.92%,
#ff3739 100%
);
background-size: 200% auto;
color: #384551;
font-size: calc(1.3875rem + 1.65vw);
background-clip: text;
line-height: 1.2;
text-fill-color: transparent;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: shine 2s ease-in-out infinite alternate;
}
@media (min-width: 1200px) {
.landing-hero .hero-title {
font-size: 2.625rem;
}
}
.landing-hero .landing-hero-btn .hero-btn-item {
inset-inline-start: -94%;
top: 65%;
}
.landing-hero .hero-animation-img {
margin-bottom: -32rem;
}
.animation-img {
border: 1px soid red;
}
@media (max-width: 1199.98px) {
.landing-hero .hero-animation-img {
margin-bottom: -20rem;
}
}
@media (max-width: 575.98px) {
.landing-hero .hero-animation-img {
margin-bottom: -10rem;
}
}
.landing-hero .hero-animation-img .hero-dashboard-img {
width: 80%;
margin: 0 auto;
will-change: transform;
transform-style: preserve-3d;
transition: all 0.1s;
}
.landing-hero .hero-animation-img .hero-dashboard-img img {
width: 100%;
}
.landing-hero-blank {
padding-top: 26rem;
}
@media (max-width: 1199.98px) {
.landing-hero-blank {
padding-top: 15rem;
}
}
@media (max-width: 575.98px) {
.landing-hero-blank {
padding-top: 7rem;
}
}
@keyframes shine {
0% {
background-position: 0% 50%;
}
80% {
background-position: 50% 90%;
}
100% {
background-position: 91% 100%;
}
}
.landing-features
.features-icon-wrapper
.features-icon-box
.features-icon-description {
max-width: 19.25rem;
margin: 0 auto;
}
.landing-reviews {
border-top-left-radius: 3.75rem;
border-top-right-radius: 3.75rem;
}
.landing-reviews .swiper-reviews-carousel .swiper-button-prev,
.landing-reviews .swiper-reviews-carousel .swiper-button-next {
display: none;
}
.landing-reviews .swiper-reviews-carousel .swiper-slide {
height: auto;
padding: 0.8125rem;
}
.landing-reviews .swiper-reviews-carousel .client-logo {
height: 1.375rem;
object-fit: contain;
}
.landing-reviews .swiper-logo-carousel {
padding-bottom: 6.25rem;
}
.landing-reviews .swiper-logo-carousel .swiper {
max-width: 45rem;
}
.landing-reviews .swiper-logo-carousel .swiper .swiper-slide {
display: flex;
justify-content: center;
}
.landing-reviews .swiper-logo-carousel .swiper .client-logo {
max-height: 2.5rem;
max-width: 95%;
object-fit: contain;
}
.landing-team .card,
.landing-team .card .team-image-box {
border-top-left-radius: 5.625rem;
border-top-right-radius: 1.25rem;
}
.landing-team .card .card-body {
border-bottom-left-radius: 0.375rem;
border-bottom-right-radius: 0.375rem;
}
.landing-team .team-image-box {
height: 11.5625rem;
}
.landing-team .team-image-box .card-img-position {
height: 15rem;
transform: translateX(-50%);
max-width: 100%;
object-fit: cover;
}
@media (max-width: 991.98px) {
.landing-team .team-image-box .card-img-position {
height: 13rem;
}
}
@media (max-width: 575.98px) {
.landing-team .team-image-box {
height: 11rem;
}
}
.landing-team .card .team-media-icons i {
transition: all 0.2s ease-in-out;
}
.landing-pricing {
border-radius: 3.75rem;
}
.landing-pricing .pricing-plans-item {
inset-inline-end: -56%;
bottom: -0.5rem;
}
@media (max-width: 767.98px) {
.landing-pricing .pricing-plans-item {
inset-inline-end: 0;
bottom: 1rem;
}
}
.landing-pricing .pricing-list .badge.badge-center {
width: 1rem;
height: 1rem;
}
.landing-pricing .pricing-list .badge.badge-center i {
margin-top: -5px;
}
.landing-pricing .price-yearly-toggle {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
}
.landing-pricing .card .card-header,
.landing-pricing .card .card-body {
padding: 2rem;
padding-top: 3rem;
}
.landing-faq {
border-top-left-radius: 3.75rem;
border-top-right-radius: 3.75rem;
}
.landing-faq .faq-image {
max-width: 20rem;
width: 80%;
}
.landing-cta .cta-title {
font-size: 2.125rem;
}
@media (max-width: 767.98px) {
.landing-cta .cta-title {
font-size: 1.8rem;
}
}
.landing-contact .text-heading {
overflow-wrap: anywhere;
}
.landing-contact .contact-img-box,
.landing-contact .contact-img-box .contact-img {
border-radius: 3.75rem 0.375rem 0.375rem 0.375rem;
}
.landing-contact .contact-img-box .contact-border-img {
inset-block-start: -2.5rem;
inset-inline-start: -2.8125rem;
}
.light-style .landing-hero {
background: linear-gradient(138.18deg, #eae8fd 0%, #fce5e6 94.44%);
}
.light-style .landing-hero::after {
background-color: #fff;
}
.dark-style .landing-hero {
background: #1e2130;
}
.dark-style .landing-hero::after {
background-color: #2b2c40;
}
[dir="rtl"] .landing-reviews-btns {
display: flex;
justify-content: flex-end;
flex-direction: row-reverse;
gap: 1rem;
}
[dir="rtl"] .landing-team .team-image-box .card-img-position {
transform: translateX(50%) !important;
}
[dir="rtl"] .landing-pricing .switch .switch-label {
padding-right: 0;
}
[dir="rtl"] .landing-pricing .switch .switch-label:first-child {
padding-left: 0.5rem;
}
[dir="rtl"] .landing-pricing .switch .switch-input ~ .switch-label {
padding-right: 3rem;
}
[dir="rtl"] .landing-contact .contact-img-box {
border-radius: 0.375rem 3.75rem 0.375rem 0.375rem;
}
[dir="rtl"] .landing-contact .contact-img-box::before {
inset-block-start: -1.875rem;
inset-inline-start: -3.125rem;
transform: rotate(90deg);
}
.swiper {
width: 100%;
height: 100%;
border-radius: 10px;
}
.swiper-slide {
text-align: center;
font-size: 18px;
/* Center slide text vertically */
display: flex;
justify-content: center;
align-items: center;
}
.swiper-slide img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.light-style .landing-hero {
background: linear-gradient(138.18deg, #eae8fd, #ede7e7 94.44%);
}
.text-green {
color: #49bf3c !important;
}
.text-blue {
color: var(--bs-blue);
}

File diff suppressed because it is too large Load Diff

View File

@ -10,8 +10,6 @@ const SubscriptionPlans = () => {
const { data, isLoading, isError, error } = useSubscription(frequency); const { data, isLoading, isError, error } = useSubscription(frequency);
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
const frequencyLabel = (freq) => { const frequencyLabel = (freq) => {
switch (freq) { switch (freq) {
case 0: case 0:
@ -104,13 +102,13 @@ const SubscriptionPlans = () => {
<h6 className="fw-bold text-uppercase border-top pt-3 mb-3 text-center"> <h6 className="fw-bold text-uppercase border-top pt-3 mb-3 text-center">
Features Features
</h6> </h6>
<ul className="list-unstyled text-start mb-4 ms-7 fs-5"> <ul className="list-unstyled text-start mb-4 ms-7 fs-6">
{plan.features?.modules && {plan.features?.modules &&
Object.values(plan.features.modules).map((mod) => Object.values(plan.features.modules).map((mod) =>
mod && mod.name ? ( mod && mod.name ? (
<li <li
key={mod.id} key={mod.id}
className="d-flex align-items-center mb-4" className="d-flex align-items-center mb-2"
> >
{mod.enabled ? ( {mod.enabled ? (
<i className="fa-regular fa-circle-check text-success me-2"></i> <i className="fa-regular fa-circle-check text-success me-2"></i>
@ -124,20 +122,20 @@ const SubscriptionPlans = () => {
</ul> </ul>
{/* Button */} {/* Button */}
<div className="mt-auto"> <div className="mt-auto">
<Link <Link
to={`/auth/subscripe/${frequency}/${plan.id}`} to={`/auth/subscripe/${frequency}/${plan.id}`}
className="btn btn-outline-primary w-100 fw-bold mb-2" className="btn btn-green btn-square-small w-100 fw-bold mb-2"
> >
Subscribe Subscribe
</Link> </Link>
<Link <Link
to="/auth/reqest/demo" to="/auth/reqest/demo"
className="btn btn-outline-primary w-100 fw-bold" className="btn btn-outline-success w-100 fw-bold"
> >
Request a Demo Request a Demo
</Link> </Link>
</div> </div>
</div> </div>
</div> </div>
)) ))

View File

@ -0,0 +1,26 @@
import { SwiperSlide } from "swiper/react";
const SwaperSlideImages = ({
ImageUrl = "../../../public/assets/img/backgrounds/18.jpg",
Title = "",
Body = "",
ContentAlign = "right",
}) => {
return (
<div className="card h-100">
<img className="card-img-top" src={ImageUrl} alt="Card image cap" />
{/* <div className="card-body">
<h5 className="card-title">Card title</h5>
<p className="card-text">
Some quick example text to build on the card title and make up the
bulk of the card's content.
</p>
<a href="javascript:void(0)" className="btn btn-outline-primary">
Go somewhere
</a>
</div> */}
</div>
);
};
export default SwaperSlideImages;

View File

@ -29,35 +29,28 @@
font-size: 16px; font-size: 16px;
font-weight: 300; font-weight: 300;
} }
ul {
font-size: 16px;
font-weight: 300;
list-style-type: disc;
margin-block-start: 1em;
margin-block-end: 1em;
padding-inline-start: 40px;
unicode-bidi: isolate;
}
ul li { li.more-features-list-items {
padding: 10px 10px 10px 0; padding: 10px 10px 10px 0;
}
li {
unicode-bidi: isolate; unicode-bidi: isolate;
margin: 0px; margin: 0px;
display: list-item; display: list-item;
} }
.ul.more-features-list {
max-width: 430px;
padding: 10px 0 0 0;
display: block;
}
ul.more-features-list { ul.more-features-list {
font-size: 16px;
font-weight: 300;
list-style-type: none;
margin-block-start: 1em;
margin-block-end: 1em;
padding-inline-start: 40px;
unicode-bidi: isolate;
display: block; display: block;
position: relative; position: relative;
margin-left: 10px; margin-left: 10px;
padding: 10px 0 0 0;
display: block;
} }
.list-item { .list-item {
@ -93,3 +86,16 @@ ul.more-features-list {
stroke-dasharray: 125.6; stroke-dasharray: 125.6;
transform: rotate(-90deg); transform: rotate(-90deg);
} }
.login-pg-swiper {
width: 80vw; /* 80% of viewport width */
height: 70vh; /* 70% of viewport height */
margin: auto; /* Center the swiper container */
}
.swiper-slide img.login-pg-img-swiper {
display: block;
width: 100%; /* Image takes full width of the slide (which is 80vw) */
height: 100%; /* Image takes full height of the slide (which is 70vh) */
object-fit: contain; /* Ensures the entire image is visible without stretching, maintaining aspect ratio */
}

View File

@ -1,249 +1,293 @@
import { React, useRef } from "react"; import { React, useRef } from "react";
import LoginPage from "./LoginPage"; import LoginPage from "./LoginPage";
import "./MainLogin.css"; import "./MainLogin.css";
import { Swiper, SwiperSlide } from "swiper/react";
import { EffectFlip, Autoplay, Pagination, Navigation } from "swiper/modules";
const MainLogin = () => { const MainLogin = () => {
const progressCircle = useRef(null);
const progressContent = useRef(null);
const onAutoplayTimeLeft = (s, time, progress) => {
progressCircle.current.style.setProperty("--progress", 1 - progress);
progressContent.current.textContent = `${Math.ceil(time / 1000)}s`;
};
return ( return (
<> <>
<div className="authentication-inner row m-0"> <div className="authentication-inner row m-0">
<div className=" d-lg-flex col-lg-7 col-xl-8 align-items-center p-5 justify-content-center"> <div className=" d-lg-flex col-lg-7 col-xl-8 align-items-center p-5 justify-content-center">
<div className="w-75 text-start" style={{ marginTop: "75px" }}> {/* <div className="w-75 text-start" style={{ marginTop: "75px" }}> */}
<Swiper <div
spaceBetween={30} class="w-75 text-start swiper-container login-pg-swiper"
centeredSlides={true} style={{ marginTop: "75px" }}
rewind={true} >
autoplay={{ <div
delay: 3500, id="textCarousel"
disableOnInteraction: false, class="carousel slide"
}} data-bs-ride="carousel"
pagination={{
clickable: true,
}}
keyboard={{
enabled: true,
}}
navigation={false}
modules={[EffectFlip, Autoplay, Pagination, Navigation]}
className="mySwiper"
onSlideChange={() => {}}
onSwiper={(swiper) => {}}
onAutoplayTimeLeft={onAutoplayTimeLeft}
> >
<div className="autoplay-progress" slot="container-end"> <div class="carousel-inner">
<svg viewBox="0 0 48 48" ref={progressCircle}> <div class="carousel-item active">
<circle cx="24" cy="24" r="20"></circle> <div class="p-5 text-center">
</svg> <p>
<span ref={progressContent}></span> <img
className="w-100 login-pg-img-swiper"
src="/img/illustrations/03.png"
></img>
</p>
</div>
</div>
<div class="carousel-item active">
<div class="p-5 text-center">
<p>
<img
className="w-100 login-pg-img-swiper"
src="/img/illustrations/fm-01.png"
></img>
</p>
</div>
</div>
<div class="carousel-item ">
<div class="p-5 ">
<p>
<div className="text-start">
<h3 className="display-header text-black">
{" "}
Financial Management (Expense & Billing)
</h3>
<h4 className="display-title text-black">
Eliminate Paper Receipts. Take Control of Your Cash
Flow.
</h4>
<p className="display-body">
Managing field expenses is often messy, slow, and
prone to errors. onfieldwork.com digitizes the entire
process, giving you real-time financial visibility and
control, whether your team is on a construction site
or servicing a client's facility.
</p>
<ul className="more-features-list list-unstyled">
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Billing & Collection:</b> Generate accurate
invoices based on logged project data and
efficiently track the status of payments to
speed up collection cycles.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Recurring Expenses:</b> Set up and manage
automatic payments for predictable costs (like
monthly equipment rentals or subscriptions) to
ensure they are never missed.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Advance Payment Management:</b> A clear
system for issuing and tracking advances given
to field staff. Easily reconcile these advances
against submitted expenses and salaries.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Petty Cash Management:</b> Maintain a
secure, digital ledger for small, daily
expenditures, replacing error-prone manual
logbooks.
</div>
</div>
</li>
</ul>
</div>
</p>
{/* <button class="btn btn-light">Learn More</button> */}
</div>
</div>
<div class="carousel-item">
<div class="p-5 text-center ">
<p className="text-start">
<div className="text-start">
<h1 className="display-header text-black">
{" "}
Flexible Project Approval/Review Workflow
</h1>
<h4 className="display-title text-black">
Streamline Decisions. Accelerate Project Completion.
</h4>
</div>
<p className="display-body ">
The speed of a project often hinges on the efficiency of
the review and approval process. onfieldwork.com
replaces bottlenecks and email chains with flexible,
defined digital workflows that keep work moving forward.
</p>
<ul className="more-features-list list-unstyled">
<li className="more-features-list-items">
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Customizable Approval Chains</b>
<ul>
<li>
<b> Define Your Process:</b> Easily configure
multi-step approval paths for any item:
document submissions, expense reports, task
completion sign-offs, or material requests.
</li>
<li>
<b>Role-Based Routing:</b> Approvals are
automatically routed to the correct individual
based on their Role (e.g., Site Supervisor,
Project Manager, Finance Admin) thanks to our
Role-Based Access Control (RBAC).
</li>
</ul>{" "}
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Real-Time Notifications & Tracking</b>
<ul>
<li>
<b>No More Delays:</b> Reviewers receive
instant alerts via the Web and Mobile app when
an item requires their attention.
</li>
<li>
<b> Audit Trail:</b> Every action, comment,
approval, or rejection is logged with a
timestamp and user ID, providing a complete,
non-repudiable history for every decision.
</li>
</ul>{" "}
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Seamless Task Handoff</b> Once a task or
document is approved, the next action is
immediately triggeredwhether it's allocating a
new work package to the team or initiating a
purchase order.
</div>
</div>
</li>
</ul>
</p>
</div>
</div>
<div class="carousel-item">
<div class="p-5 text-center ">
<p className="text-start">
<div className="text-start">
<h1 className="display-header text-black">
{" "}
Project Management
</h1>
<h4 className="display-title text-black">
End-to-End Project Lifecycle Management
</h4>
</div>
<p className="display-body">
Stop using spreadsheets and start managing progress.
onfieldwork.com is your single source of truth for all
project activities.
</p>
<ul className="more-features-list list-unstyled">
<li className="more-features-list-items">
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Create & Manage Multiple Projects:</b>Organize
all current and upcoming work in a centralized
dashboard.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Infrastructure Management:</b>Track and manage
project resources, equipment, and key locations.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Team & Document Management:</b>Secure storage
for drawings, contracts, and easy team setup.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Work Allocation & Tracking:</b>Implement
customizable Approval/Review Workflows for tasks
and documents.
</div>
</div>
</li>
</ul>
</p>
</div>
</div>
</div> </div>
<SwiperSlide>
<img src="/img/illustrations/03.png"></img> <button
</SwiperSlide> class="carousel-control-prev"
<SwiperSlide> type="button"
<div className="text-start"> data-bs-target="#textCarousel"
<h1 className="display-header"> data-bs-slide="prev"
Financial Management (Expense & Billing) >
</h1> <span
<h4 className="display-title"> class="carousel-control-prev-icon"
Eliminate Paper Receipts. Take Control of Your Cash Flow. aria-hidden="true"
</h4> ></span>
<p className="display-body"> <span class="visually-hidden">Previous</span>
Managing field expenses is often messy, slow, and prone to </button>
errors. onfieldwork.com digitizes the entire process, giving <button
you real-time financial visibility and control, whether your class="carousel-control-next"
team is on a construction site or servicing a client's type="button"
facility. data-bs-target="#textCarousel"
</p> data-bs-slide="next"
<ul className="more-features-list list-unstyled"> >
<li> <span
<div className="d-flex"> class="carousel-control-next-icon"
<i className="bx bxs-check-circle text-success"></i> aria-hidden="true"
<div className="list-item ms-2 pb-2"> ></span>
{" "} <span class="visually-hidden">Next</span>
<b> Billing & Collection:</b> Generate accurate </button>
invoices based on logged project data and efficiently </div>
track the status of payments to speed up collection
cycles.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Recurring Expenses:</b> Set up and manage
automatic payments for predictable costs (like monthly
equipment rentals or subscriptions) to ensure they are
never missed.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Advance Payment Management:</b> A clear system for
issuing and tracking advances given to field staff.
Easily reconcile these advances against submitted
expenses and salaries.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Petty Cash Management:</b> Maintain a secure,
digital ledger for small, daily expenditures,
replacing error-prone manual logbooks.
</div>
</div>
</li>
</ul>
</div>
</SwiperSlide>
<SwiperSlide>
<div className="text-start">
<h1 className="display-header">
Flexible Project Approval/Review Workflow
</h1>
<h4 className="display-title">
Streamline Decisions. Accelerate Project Completion.
</h4>
<p className="display-body">
The speed of a project often hinges on the efficiency of the
review and approval process. onfieldwork.com replaces
bottlenecks and email chains with flexible, defined digital
workflows that keep work moving forward.
</p>
<ul className="more-features-list list-unstyled">
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Customizable Approval Chains</b>
<ul>
<li>
<b> Define Your Process:</b> Easily configure
multi-step approval paths for any item: document
submissions, expense reports, task completion
sign-offs, or material requests.
</li>
<li>
<b>Role-Based Routing:</b> Approvals are
automatically routed to the correct individual
based on their Role (e.g., Site Supervisor,
Project Manager, Finance Admin) thanks to our
Role-Based Access Control (RBAC).
</li>
</ul>{" "}
</div>
</div>
</li>
{/* <li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Real-Time Notifications & Tracking</b>
<ul>
<li>
<b>No More Delays:</b> Reviewers receive instant
alerts via the Web and Mobile app when an item
requires their attention.
</li>
<li>
<b> Audit Trail:</b> Every action, comment,
approval, or rejection is logged with a timestamp
and user ID, providing a complete, non-repudiable
history for every decision.
</li>
</ul>{" "}
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Seamless Task Handoff</b> Once a task or document
is approved, the next action is immediately
triggeredwhether it's allocating a new work package
to the team or initiating a purchase order.
</div>
</div>
</li> */}
</ul>
</div>
</SwiperSlide>
<SwiperSlide>
<div className="text-start">
<h1 className="display-header">Project Management</h1>
<h4 className="display-title">
End-to-End Project Lifecycle Management
</h4>
<p className="display-body">
Stop using spreadsheets and start managing progress.
onfieldwork.com is your single source of truth for all
project activities.
</p>
<ul className="more-features-list list-unstyled">
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b> Create & Manage Multiple Projects:</b>Organize all
current and upcoming work in a centralized dashboard.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Infrastructure Management:</b>Track and manage
project resources, equipment, and key locations.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Team & Document Management:</b>Secure storage for
drawings, contracts, and easy team setup.
</div>
</div>
</li>
<li>
<div className="d-flex">
<i className="bx bxs-check-circle text-success"></i>
<div className="list-item ms-2 pb-2">
{" "}
<b>Work Allocation & Tracking:</b>Implement
customizable Approval/Review Workflows for tasks and
documents.
</div>
</div>
</li>
</ul>
</div>
</SwiperSlide>
</Swiper>
</div> </div>
</div> </div>
<LoginPage /> <LoginPage />