/* styles.css */

@font-face {
    font-family: 'SolarisFont';
    src: url('./../fonts/solaris-webfont.woff2') format('woff2'),
         url('./../fonts/solaris-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FrescoStampFont';
    src: url('./../fonts/fresco_stamp-webfont.woff2') format('woff2'),
         url('./../fonts/fresco_stamp-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-Thin.woff2') format('woff2'),
         url('./../fonts/Outfit-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-ExtraLight.woff2') format('woff2'),
         url('./../fonts/Outfit-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-Light.woff2') format('woff2'),
         url('./../fonts/Outfit-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-Regular.woff2') format('woff2'),
         url('./../fonts/Outfit-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-Medium.woff2') format('woff2'),
         url('./../fonts/Outfit-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-SemiBold.woff2') format('woff2'),
         url('./../fonts/Outfit-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-Bold.woff2') format('woff2'),
         url('./../fonts/Outfit-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-ExtraBold.woff2') format('woff2'),
         url('./../fonts/Outfit-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('./../fonts/Outfit-Black.woff2') format('woff2'),
         url('./../fonts/Outfit-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Lato Black */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-Black.woff2') format('woff2'),
         url('./../fonts/Lato-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Lato Black Italic */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-BlackItalic.woff2') format('woff2'),
         url('./../fonts/Lato-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* Lato Bold */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-Bold.woff2') format('woff2'),
         url('./../fonts/Lato-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* Lato Bold Italic */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-BoldItalic.woff2') format('woff2'),
         url('./../fonts/Lato-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

/* Lato Regular */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-Regular.woff2') format('woff2'),
         url('./../fonts/Lato-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Lato Italic */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-Italic.woff2') format('woff2'),
         url('./../fonts/Lato-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

/* Lato Light */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-Light.woff2') format('woff2'),
         url('./../fonts/Lato-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Lato Light Italic */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-LightItalic.woff2') format('woff2'),
         url('./../fonts/Lato-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

/* Lato Thin */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-Thin.woff2') format('woff2'),
         url('./../fonts/Lato-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

/* Lato Thin Italic */
@font-face {
    font-family: 'Lato';
    src: url('./../fonts/Lato-ThinItalic.woff2') format('woff2'),
         url('./../fonts/Lato-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

/* Roboto Bold */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-Bold.woff2') format('woff2'),
         url('./../fonts/Roboto-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* Roboto Bold Italic */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-BoldItalic.woff2') format('woff2'),
         url('./../fonts/Roboto-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

/* Roboto Regular */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-Regular.woff2') format('woff2'),
         url('./../fonts/Roboto-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Roboto Italic */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-Italic.woff2') format('woff2'),
         url('./../fonts/Roboto-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

/* Roboto Light */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-Light.woff2') format('woff2'),
         url('./../fonts/Roboto-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Roboto Light Italic */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-LightItalic.woff2') format('woff2'),
         url('./../fonts/Roboto-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

/* Roboto Medium */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-Medium.woff2') format('woff2'),
         url('./../fonts/Roboto-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Roboto Medium Italic */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-MediumItalic.woff2') format('woff2'),
         url('./../fonts/Roboto-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

/* Roboto Thin */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-Thin.woff2') format('woff2'),
         url('./../fonts/Roboto-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

/* Roboto Thin Italic */
@font-face {
    font-family: 'Roboto';
    src: url('./../fonts/Roboto-ThinItalic.woff2') format('woff2'),
         url('./../fonts/Roboto-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

:root {
    --primary-color: #702DA1;
    --secondary-color: #453750;
    --text-color: #242424;
    --accent-color: #702DA1;
    --color-lightest-purple-grey: #EAE2EF;
    --color-dark-purple: #2E0849;
    --color-muted-purple: #D1CBD5;
    --color-soft-blue: #6F6F6F;
    --color-white: #F0EBF3;
    --primary-font-family: "Lato", sans-serif;
    --secondary-font-family: "Lato", serif;
    --text-font-family: "Outfit", sans-serif;
    --accent-font-family: "Outfit", sans-serif;
}

body {
    background-color: #ffffff;
    font-family: var(--text-font-family);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--primary-font-family);
    color: var(--primary-color);
    line-height: 1.25em;
    font-weight: 600;
}

h2.secondary-font { font-family: var( --secondary-font-family ); font-weight: 400; line-height: 1.25em; /* margin-top: -8px; margin-bottom: 40px; */ }
h3.secondary-font { font-family: var( --secondary-font-family ); font-weight: 400; line-height: 1.25em; /* margin-top: -8px; margin-bottom: 40px; */ }
h4.secondary-font { font-family: var( --secondary-font-family ); font-weight: 400; line-height: 1.25em; /* margin-top: -8px; margin-bottom: 40px; */ }
h5.secondary-font { font-family: var( --secondary-font-family ); font-weight: 400; line-height: 1.25em; /* margin-top: -8px; margin-bottom: 40px; */ }
h6.secondary-font { font-family: var( --secondary-font-family ); font-weight: 400; line-height: 1.25em; /* margin-top: -8px; margin-bottom: 40px; */ }

.py-6 { padding: 4.5rem 0 4.5rem 0; } .py-6-1 { padding: 0 0 4.5rem 0; } .py-6-2 { padding: 6.5rem 0 5.75rem 0; } .py-6-3 { padding: 0 0 0 0; } .py-6-4 { padding: 6.5rem 0 0 0; } .py-6-5 { padding: 0 0 7.5rem 0; } .py-6-6 { padding: 4.5rem 0 0 0; } .py-6-7 { padding: 0 0 6.75rem 0; } .py-6-8 { padding: 6.75rem 0 6.75rem 0; } .py-6-9 { padding: 2.5rem 0 5.75rem 0; } .py-6-10 { padding: 0 0 5.75rem 0; } .py-6-11 { padding: 6.25rem 0 3rem 0; } .py-6-12 { padding: 2.25rem 0 4.55rem 0; } .py-6-13 { padding: 5.5rem 0 5.5rem 0; } .py-6-14 { padding: 5.5rem 0 5.5rem 0; }

h1 { font-size: 70px; } h2 { font-size: 55px; } h3 { font-size: 50px; } h4 { font-size: 38px; } h5 { font-size: 30px; } h6 { font-size: 20px; }
p { font-size: 18px; line-height: 1.4em; } p.fsize-medium { font-size: 24px; }
p span { color: var( --primary-color ); }
h3 span { color: var( --primary-color ); }

.zindex8 { z-index: 8; }
.zindex9999 { z-index: 99999999; }

header {
    box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.05);
}

footer {
    background: var(--text-color) url('./../images/glitter-bg-02.webp') center center / cover no-repeat;
    padding: 10px 0;
}

.hero-section-01 {
    position: relative;
    background: url('./../images/2669.webp') center center / cover no-repeat;
}

.hero-section-02 {
    position: relative;
    background: url('./../images/307291.webp') center center / cover no-repeat;
}

.hero-section-03 {
    position: relative;
    background: url('./../images/38727.webp') center center / cover no-repeat;
}

.hero-section-04 {
    position: relative;
    background: url('./../images/dbf-page-bg-01.webp') center center / cover no-repeat;
}

.hero-section-05 {
    position: relative;
    background: url('./../images/409756.webp') center center / cover no-repeat;
}

.hero-section-06 {
    position: relative;
    background: url('./../images/6024.webp') center center / cover no-repeat;
}

.hero-section-07 {
    position: relative;
    background: url('./../images/42902.webp') center center / cover no-repeat;
}

.hero-section-08 {
    position: relative;
    background: url('./../images/42928.webp') center center / cover no-repeat;
}

.hero-section-09 {
    position: relative;
    background: url('./../images/89857.webp') center center / cover no-repeat;
}

.hero-section-10 {
    position: relative;
    background: url('./../images/83.webp') center center / cover no-repeat;
}

.hero-section-11 {
    position: relative;
    background: url('./../images/60428.webp') center center / cover no-repeat;
}

.hero-section-12 {
    position: relative;
    background: url('./../images/505.webp') center center / cover no-repeat;
}

.hero-section-13 {
    position: relative;
    background: url('./../images/51741.webp') center center / cover no-repeat;
}

.hero-section-14 {
    position: relative;
    background: url('./../images/6045.webp') center center / cover no-repeat;
}

.hero-section-15 {
    position: relative;
    background: url('./../images/47777.webp') center center / cover no-repeat;
}

.hero-background-overlay-01 {
    padding: 200px 0 260px 0;
    background-color: #ffffffc4;
}

.hero-background-overlay-01-1 {
    padding: 200px 0 200px 0;
}

.hero-background-overlay-01-1 {
    padding: 200px 0 200px 0;
}

.hero-background-overlay-02 {
    padding: 150px 0 150px 0;
    background-color: #eeeaf1e0;
}

.hero-background-overlay-02-1 {
    padding: 150px 0 210px 0;
    background-color: #eeeaf1e0;
}

.hero-background-overlay-03 {
    padding: 200px 0 200px 0;
    background-color: #eeeaf1e0;
}

.intro-2-col-section {
    background-image: url('./../images/wave-bg-01-opac-60.webp');
    background-repeat: no-repeat;
    background-size: 400px;
    background-position: left bottom;
}

.three-column-section .container {
    margin-top: -60px; /* Negative margin to overlap */
}

.three-column-section .card {
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    position: absolute;
    backface-visibility: hidden;
    transition: transform 0.6s ease;
    width: 100%;
}

.card.item111 img {
    position: absolute;
    height: 55px;
    right: 40px;
    top: 35px;
}

.card-wrapper {
    position: relative;
    height: 200px;
    perspective: 1000px;
}

.card {
    width: 100%;
    height: 100%;
    position: absolute;
    backface-visibility: hidden;
    transition: transform 0.6s;
}

.front-facing {
    z-index: 2;
    transform: rotateY(0deg);
    cursor: pointer;
}

.back-facing {
    transform: rotateY(180deg);
    z-index: 1;
    background-color: #ffffff;
}

/* jQuery will add the .flipped class to toggle the flip effect */
.card-wrapper.flipped .front-facing {
    transform: rotateY(-180deg);
}

.card-wrapper.flipped .back-facing {
    transform: rotateY(0deg);
}

/* Hover effect for front-facing card */
.front-facing:hover {
    background-color: var( --secondary-color ); /* Color change on hover */
}

/* Show dropdown on hover */
.nav-item.dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0; /* Adjust dropdown's position */
}

/* Optional: To ensure hover styles match the bootstrap dropdown styles */
.dropdown-menu {
    display: none;
    position: absolute;
}

.footer-nav .dropdown-menu {
    position: absolute;
}

.main-menu-01 {
    font-family: var(--text-font-family);
    font-size: 18px;
}

.main-menu-01 .btn.btn-outline-primary {
    margin-left: 15px;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 15px;
    padding-left: 15px;
}

.header-main-nav a.dropdown-item {
    padding: 7px 18px;
}

.header-main-nav ul.dropdown-menu {
    border-radius: 6px;
}

.header-main-nav ul.dropdown-menu li {
    overflow: hidden;
}

.header-main-nav ul.dropdown-menu li:first-child {
    border-radius: 6px 6px 0 0;
}

.header-main-nav ul.dropdown-menu li:last-child {
    border-radius: 0 0 6px 6px;
}

.header-main-nav .navbar-nav li a {
    color: var( --text-color );
}

.header-main-nav .navbar-nav li a:hover, .header-main-nav .navbar-nav li a:hover, .header-main-nav .navbar-nav li a.active {
    color: var( --primary-color );
}

.header-main-nav a.dropdown-item:focus, .header-main-nav a.dropdown-item:hover {
    color: var( --primary-color );
    background-color: var( --color-lightest-purple-grey );
}

.btn.btn-outline-primary {
    font-family: var(--text-font-family);
    font-size: 18px;
    font-weight: 500;
    line-height: 1em;
    padding: 10px 26px 10px 26px;
    color: var( --accent-color ) !important;
    background-color: #FFFFFF;
    border-style: solid;
    border-width: 3px 3px 3px 3px;
    border-radius: 10px 10px 10px 10px;
    border-color: var( --accent-color );
}

.btn.btn-outline-primary:hover, .btn.btn-outline-primary:hover {
    color: #FFFFFF !important;
    background-color: var( --accent-color );
}

.btn.btn-primary {
    font-family: var(--text-font-family);
    font-size: 18px;
    font-weight: 500;
    line-height: 1em;
    background-color: var(--accent-color);
    border-radius: 10px 10px 10px 10px;
    padding: 14px 26px 15px 26px;
    border: 0;
}

.btn.btn-primary:hover, .btn.btn-primary:focus {
    background-color: var(--color-dark-purple);
}

.btn.btn-primary i {
    font-size: 14px;
    margin-left: 5px;
}

/* Font Awesome icon for dropdown using ::after */
.dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .175em;
    content: "\f078"; /* Unicode for Font Awesome down arrow (chevron-down) */
    font-family: "Font Awesome 5 Free"; /* Use Font Awesome 5 */
    font-weight: 900; /* Font weight for solid icons */
    font-size: 0.75rem; /* Adjust the size as needed */
    color: inherit; /* Match the color to the parent element */
    border: 0;
}

.services-section h2 {
    margin-bottom: 120px;
}

.footer-social h3 {
    color: var( --color-lightest-purple-grey );
    font-size: 24px;
    margin-bottom: 20px;
}

.footer-social img {
    height: 48px;
}

.footer-copyright {
    color: var( --color-lightest-purple-grey );
}

.footer-nav a.nav-link {
    color: var( --color-lightest-purple-grey );
    padding: 5px 18px;
    border-radius: 6px;
    font-size: 18px;
}

.footer-nav a.dropdown-item {
    padding: 7px 18px;
}

.footer-nav ul li.nav-item {
    padding: 0 4px;
}

.footer-nav ul li a:hover, .footer-nav ul li a:focus, .footer-nav .navbar-nav .nav-link.active, .footer-nav .navbar-nav .nav-link.show {
    background-color: var( --primary-color );
    color: var( --color-lightest-purple-grey );
}

.footer-nav a.dropdown-item {
    color: var( --text-color );
}

.footer-nav a.dropdown-item:hover, .footer-nav a.dropdown-item:focus {
    background-color: transparent;
    color: var( --primary-color );
}

ul.dropdown-menu {
    padding: 0;
}

ul.dropdown-menu li:not(:last-child) a {
    border-bottom: 1px solid #CCCCCC;
}

.footer-nav {
    margin-top: 30px; 
}

.footer-nav, .footer-logo, .footer-social, .footer-copyright {
    margin-bottom: 50px;
}

.footer-logo .item118 {
    margin-bottom: 30px;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.services-section-2 .col-md-6 {
    margin-bottom: 120px !important;
}

.services-section-2 h2 {
    margin-bottom: 30px;
}

.services-section-2 p.sub-heading {
    max-width: 1050px;
    margin: 0 auto 110px auto;
}

.service-card {
    background-image: url('./../images/abstract-bg-02-opac-45.webp');
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: 145% 100%;
    background-image: none;
}

.purple-sq-01 {
    width: 24px;
    height: 24px;
    background-color: var( --primary-color );
    border-radius: 2px;
    position: absolute;
    top: -12px;
    left: 0;
}

.path-to-action-section {
    background: url('./../images/graph-dotted-01xd.webp') no-repeat 90% 100% / 345px;
}

.working-together-section {
    background: var(--color-white) url('./../images/light-dots-bg-opac-45.webp') no-repeat right bottom / 60%;
}

.row .item127:not(:last-child) { border-right: 1px solid var( --primary-color ); }

.hero-section-03 p {
    max-width: 950px !important;
}

.hero-section-04 p {
    max-width: 1000px !important;
}

.breadcrumb {
    background-color: var( --primary-color );
}

.button-spl-01 {
    font-family: var( --text-color );
    font-size: 18px;
    font-weight: 700;
    line-height: 1em;
    fill: var( --primary-color );
    color: var( --primary-color );
    background-color: var( --color-lightest-purple-grey );
    border-radius: 8px 8px 8px 8px;
    padding: 11px 24px 11px 24px;
    border: 0;
}

.button-spl-01:hover, .button-spl-01:focus {
    fill: #FFFFFF;
    color: #FFFFFF;
    background-color: var( --secondary-color );
}

.accordion-custom-01 {
    margin-top: -22px;
}

.accordion-custom-01 h2.accordion-header button.accordion-button {
    font-size: 24px;
    color: var( --primary-color );
    font-family: var( --secondary-font-family );
    line-height: 1.25em;
    padding: 1.25rem 3rem 1.25rem 3rem;
}

.accordion-custom-01 .accordion-button::after {
    margin-bottom: 0;
}

.accordion-custom-01 .accordion-button:not(.collapsed) {
    background-color: var( --color-lightest-purple-grey );
}

.accordion-custom-01 .accordion-body {
    padding: 2.25rem 3rem;
    text-align: left;
}

.accordion-custom-01 h2 {
    margin-bottom: 0 !important;
}

.accordion-xd-02 h2.accordion-header button.accordion-button {
    font-size: 24px;
    padding: 1.25rem 2rem 1.25rem 2rem;
    background-color: transparent;
    margin: 0 !important;
    line-height: 1.25em !important;
}

.accordion-xd-02 .accordion-body {
    padding: 1.25rem 2rem;
    text-align: left;
    background-color: transparent;
}

.accordion-xd-02 .accordion-button:not(.collapsed) {
    background-color: transparent;
    border-bottom: 1px solid var( --color-muted-purple );
}

.accordion-xd-02 .accordion-item {
    background-color: transparent;
    border: 1px solid var( --color-muted-purple );
}

.accordion-xd-02 .accordion-button.collapsed {
    color: var( --text-color ) !important;
}

.accordion-xd-02 .accordion-button {
    color: var( --primary-color ) !important;
}

.tabs-section-01 .tab-pane { border-left: 1px solid #dee2e6; border-right: 1px solid #dee2e6; border-bottom: 1px solid #dee2e6; border-radius: 0 0 10px 10px; }
.tabs-section-01 .tab-pane ul { padding-left: 1rem !important; font-size: 18px; line-height: 1.4em; }
.tabs-section-01 .nav-tabs .nav-link {
    font-size: 18px !important;
    color: var( --text-color ) !important;
    margin-right: 10px !important;
    padding: 12px 25px !important;
    border-radius: 10px 10px 0 0 !important;
}
.tabs-section-01 .nav-tabs .nav-link.active {
    color: var( --primary-color ) !important;
    font-weight: 600 !important;
}
.tabs-section-01 .nav-tabs .nav-link:hover {
    background-color: var( --color-white ) !important;
}

.services-by-tabs-01 .nav.nav-tabs {
    border-bottom: 0 !important;
    justify-content: center;
}
.services-by-tabs-01 .nav-item button {
    border: 1px solid var( --color-muted-purple );
    border-radius: 8px;
    padding: 7px 45px;
    margin: 10px 18px 15px 18px;
    font-size: 18px !important;
    color: var(--text-color) !important;
}
.services-by-tabs-01 .nav-tabs .nav-link.active {
    border: 1px solid var( --color-muted-purple );
    background-color: var( --color-lightest-purple-grey );
}

.fluid-icons-section h2 {
    font-size: 40px;
}

#navbarNav .dropdown-menu h6 {
    font-size: 15px;
}
#navbarNav .dropdown-menu .dropdown-item {
    background-image: url('./../images/li-icon-arrow-01.svg');
    background-size: 11px 11px;
    background-position: center left;
    background-repeat: no-repeat;
}
#navbarNav a.dropdown-item:hover, #navbarNav a.dropdown-item:focus {
    background-color: transparent !important;
}
#navbarNav .custom-dd-ww-01 {
    width: 325px;
}

.intro-2-col-section h2 {
    font-size: 38px;
    margin-bottom: 9.75rem;
}

#navbarNav .dropdown-menu a {
    text-decoration: none !important;
}

#navbarNav .dropdown-menu a:hover h6, #navbarNav .dropdown-menu a:focus h6 {
    color: var(--text-color) !important;
}

/* Special Custom Classes */

.item111 { padding: 30px 35px; height: 200px; border: 0; background-color: var(--primary-color); border-radius: 20px; color: #FFFFFF; justify-content: flex-end; }
.item111 h3 { font-family: var( --secondary-font-family ); font-size: 32px; font-weight: 400; color: #FFFFFF; margin-bottom: 10px; }
.item111 p { color: var( --color-lightest-purple-grey ); font-size: 19px; }
.item111-1 { padding: 30px 35px; height: 200px; border: 0; background-color: #FFFFFF; border: 3px solid var(--primary-color); border-radius: 20px; color: #FFFFFF; justify-content: center; }
.item111-1 p { color: var( --text-color ); font-size: 18px; margin: 0; }
.item112 h2 { margin-bottom: 20px; }
.item112 h3 { color: var( --text-color ); font-size: 28px; margin-bottom: 20px; }
.item113 { padding-right: 5.75rem; }
.item113-1 { padding-left: 5.75rem; }
.item114 { padding: 0; background: url('./../images/abstract-bg-01.webp') center center / contain no-repeat; background-image: none; }
.item114-1 { padding: 0; background: url('./../images/abstract-bg-02.webp') center center / contain no-repeat; background-image: none; }
.item115 { padding: 0 7.25rem 0 1.25rem; }
.item115-1 { padding: 0 1.25rem 0 7.25rem; }
.item116 { text-align: left; }
.item116 span { top: -115px; left: -15px; position: absolute; display: block; background-color: var( --primary-color ); padding: 25px; border-radius: 600px; }
.item116 img { width: 70px; height: 70px; object-fit: contain; }
.item117 { background-color: var( --color-lightest-purple-grey ); border-radius: 8px; }
.item117 h3 { font-size: 26px; margin: 35px 0 10px 0; min-height: 68px; line-height: 1.2em; }
.item117 p { font-size: 18px; }
.item118 { height: 58px; }
.item119 { color: var( --color-lightest-purple-grey ); }
.item120 p { max-width: 400px; margin: 20px auto 15px auto; }
.item121 p { max-width: 500px; margin: 20px auto 15px auto; }
.item121-1 p { max-width: 550px; }
.item122 { border-top: 1px solid var( --primary-color ); padding: 20px 45px 0 0; }
.item122 h3 { font-size: 32px; margin: 35px 0 10px 0; }
.item122 h4 { font-size: 36px; color: var( --text-color ); }
.item123 { margin-bottom: 75px; }
.item124 { margin-top: 60px; }
.item125 { margin-bottom: 35px; }
.item126 { max-width: 900px; margin: 0 auto 40px auto; }
.item127 h3 { font-size: 34px; min-height: 85px; }
.item127 h4 { font-family: var( --text-font-family ); font-size: 20px; font-weight: 400; font-style: italic; color: var( --text-color ); margin: 25px 0 25px 0; min-height: 60px; }
.item128 { margin-bottom: 6.25rem; }
.item129 { position: absolute; height: 95px; top: 95px; right: 0; }
.item130 { font-weight: 700; color: var( --primary-color ); text-decoration: none; }
.item130 i { font-size: 14px; margin-left: 4px; }
.item130:hover, .item130:focus { color: var( --color-dark-purple ); }
.item131 { border: 1px solid var( --color-muted-purple ); border-radius: 15px; align-content: stretch; align-items: stretch; }
.item131 h2 { font-size: 40px; margin-bottom: 15px; }
.item131 h3 { font-size: 22px; color: var( --text-color ); margin-bottom: 12px; }
.item131 { margin-bottom: 6.25rem; }
.item131 p { margin-bottom: 0; }
.item131 .col-md-7 { border-radius: 15px 0 0 15px; }
.item131 .col-md-5 { border-radius: 0 15px 15px 0; }
.item131 .col-md-5 img { height: 285px; width: 100% !important; object-fit: contain; }
.item132 { background-color: var(--color-lightest-purple-grey); }
.item133 { align-items: center; align-content: center; flex-direction: row; flex-wrap: wrap; justify-content: center; column-gap: 10px; row-gap: 10px; }
.item133 p { font-size: 17px; color: var( --color-lightest-purple-grey ); margin-bottom: 0; }
.item133 p a { font-size: 17px; color: var( --color-lightest-purple-grey ); text-decoration: none; }
.item133 p a:hover, .item133 p a:focus { color: #FFFFFF; }
.item133 i { font-size: 12px; font-weight: 900; color: var( --color-muted-purple ); }
.item134 { height: 24px; }
.item135 { max-width: 850px; margin: 0 auto; }
.item136 span { position: relative; display: flex; background-color: var( --primary-color ); padding: 18px; border-radius: 600px; width: 90px; height: 90px; margin: 0 auto; justify-content: center; }
.item137 { width: 20%; }
.item137 h3 { font-size: 22px; margin: 22px 0 0 0; }
.item137 a { text-decoration: none; }
.item137 a:hover h3 { color: var( --text-color ); }
.item137-1 { width: auto; }
.item137-1 h3 { font-size: 22px; }
.item138 { margin-bottom: 30px; padding-left: 1rem !important;}
.item139 { font-size: 36px; color: var( --text-color ); margin-top: 0px !important; }
.item140 { max-width: 800px !important; }
.item141 h2 { margin-bottom: 30px !important; }
.item141 p.item126 { margin-bottom: 120px !important; }
.item142 { margin-top: -20px; }
.item143 { margin: 0 auto 35px auto; max-width: 600px; }
.item144 { max-width: 1000px; margin: 0 auto; }
.item144-1 { max-width: 700px; margin: 20px auto 20px auto; }
.item144-2 { max-width: 800px; margin: 0 auto; }
.item144-3 { max-width: 1000px; margin: 20px auto; }
.item144-4 { max-width: 600px; margin: 20px auto 20px auto; }
h1.item144 { font-size: 60px; }
ul.item145 { margin: 0; padding-left: 0; display: flex; flex-wrap: wrap; }
ul.item145 li { list-style-type: none; position: relative; padding-left: 20px; font-size: 18px; display: inline-block; width: 47.5%; padding-right: 2.5%; }
ul.item145 li::before { content: "\f0c8"; font-family: 'Font Awesome 5 Free'; font-weight: 900; position: absolute; left: 0; top: 6.5px; color: var( --primary-color ); font-size: 0.60rem; }
.item146 { padding-bottom: 0; }
.item146-1 { }
.item146-2 { padding-bottom: 7.75rem !important; }
.item146-3 { padding-bottom: 0rem !important; }
h2.item147, h3.item147 { max-width: 900px; margin: 0 auto 40px auto; }
h3.item147 { color: var( --text-color ); font-size: 45px; margin-bottom: 125px; }
h2.item147-1 { max-width: 1000px; margin: 0 auto 40px auto; }
.item148 { margin-top: -50px; }
.item149 { max-width: 750px; margin-left: auto; margin-right: auto; }
.item149-1 { max-width: 900px; margin-left: auto; margin-right: auto; }
.item150 { background: var(--color-white) url('./../images/light-dots-bg-opac-45.webp') no-repeat right bottom / 60%; border-radius: 10px; }
.item151 { }
.item152 { }
.item153 { }
.item154 { }
.item155 { margin-bottom: 40px !important; font-size: 40px; }
.item156 { width: 55px; color: var(--primary-color); }
.item157 { border: 3px solid var(--primary-color); background-color: var( --color-white ); border-radius: 15px !important; }
.item158 { color: var( --text-color ) !important; margin: -4px 0 10px 0 !important; }
.item159 { background-size: 280px; }
.item160 p { max-width: 460px; }
.item161 h2 { color: var( --text-color );  }
.item161 h2 span, .item161 h3 { color: var( --primary-color );  }
.item161 h3 { font-size: 36px;  }
h2.item162 { max-width: 1050px; margin: 0 auto 110px auto; }
p.item163 { margin: 0 auto !important; }
.item164 { }
.item165 { font-size: 36px; margin: 15px 0 80px 0 !important; color: var( --text-color ); }
.item166 p { max-width: 700px; }
.item166 h1, .item121 h1, h1.item144, .item120 h1 { font-family: 'SolarisFont', sans-serif !important; margin-bottom: -10px !important; }
.item167 { border: 1px solid var( --color-muted-purple ); border-radius: 20px; padding: 40px 30px 25px 30px; }
.item167 img { height: 32px; margin-bottom: 22px; }
.item168 { --bs-gutter-x: 2.5rem !important; }
.item169 { }
.item170 { }
.item171 { max-width: 950px; margin: 0 auto; }
.item171 h2 { margin-bottom: 30px; }
.item172 { margin-top: 10px; }
p.item172:not(:last-child) {
    margin-bottom: 15px;
}
.item172 b { font-weight: 500; }
.item173 { }
.item174 { width: 60px; }
.item175 { padding: 0 2rem; }
.item176 { background: var(--color-white); }
.item176-1 { background: var(--color-white); }

/* Extra Extra Large (XXL) - For screens up to 1400px */
@media (max-width: 1399.98px) {
    /* Your styles for screens smaller than 1400px */
}

/* Extra Large (XL) - For screens up to 1200px */
@media (max-width: 1199.98px) {
    /* Your styles for screens smaller than 1200px */
    h1 { font-size: 55px; } h2 { font-size: 43px; } h3 { font-size: 39px; } h4 { font-size: 30px; } h5 { font-size: 24px; } h6 { font-size: 20px; }
    .item112 h2 {
        font-size: 36px;
    }
    .item112 h3 {
        font-size: 30px;
    }
    .item111 h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .item111 p {
        font-size: 16px;
    }
    .card.item111 img {
        height: 32px;
        right: 20px;
        top: 20px;
    }
    .item115 {
        padding: 0;
    }
    .services-section .col-md-3 {
        width: 50%;
    }
    .footer-nav ul li a {
        margin: 0 5px 10px 5px;
    }
    .item116 img {
        width: 50px;
        height: 50px;
    }
    .item116 span {
        top: -95px;
    }
    .header-main-nav .navbar-toggler {
        padding: 12px;
        font-size: 24px;
        color: var( --secondary-font-family );
        border: 1px solid var( --primary-color ) !important;
        box-shadow: none !important;
    }
    .header-main-nav ul.main-menu-01 {
        padding: 15px 0 0px 0;
    }
    .header-main-nav .main-menu-01 li:not(:last-child) a {
        border-bottom: 1px solid #EFEFEF;
    }
    .header-main-nav .main-menu-01 a:hover, .header-main-nav .main-menu-01 a:focus {
        background-color: var( --color-lightest-purple-grey );
        color: var( --primary-color );
    }
    .header-main-nav ul.dropdown-menu {
        margin-top: -1px;
        background-color: #FFFFFF;
        border-radius: 0 0 8px 8px;
        border-top: 0;
    }
    .item111-1 p {
        font-size: 16px;
    }
    .item113 { padding-top: 0rem; }
    .services-section-2 p.sub-heading {
        margin: 0 auto 90px auto;
    }
    .item122 h3 {
        font-size: 22px;
    }
    .path-to-action-section {
        background: url('./../images/graph-dotted-01xd.webp') no-repeat 90% 90% / 245px;
    }
    .hero-background-overlay-01 {
        padding: 120px 0 180px 0;
        background-color: #ffffffdb;
    }
    .hero-background-overlay-01-1 {
        padding: 120px 0 120px 0;
    }
    .hero-background-overlay-02 {
        padding: 115px 0 115px 0;
    }
    .hero-background-overlay-02-1 {
        padding: 115px 0 115px 0;
    }
    .services-section-2 h2 {
        margin-top: 0 !important;
    }
    .services-section-2 .col-md-6 {
        margin-bottom: 90px !important;
    }
    .item129 { position: absolute; height: 50px; top: 65px; right: 0; }
    .item127 h3 {
        font-size: 28px;
    }
    .item127 h4 {
        min-height: 0px;
    }
    .service-card {
        background-size: 85%;
    }
    .item131 .col-md-7, .item131 .col-md-5 {
        width: 100%;
    }
    .item131 .col-md-7 { border-radius: 15px 15px 0 0; }
    .item131 .col-md-5 { border-radius: 0 0 15px 15px; }
    .item137 { width: 33.33333%; }
    .item137-1 { width: 50%; }
    .fluid-icons-section .d-flex {
        flex-wrap: wrap;
        justify-content: center;
    }
    .item135 { margin-top: -30px !important; }
    .item139 { font-size: 28px; margin-top: 0rem !important; }
    .item141 p.item126 { margin-bottom: 85px !important; }
    .accordion-custom-01 h2.accordion-header button.accordion-button {
        font-size: 26px;
        line-height: 1.05em;
    }
    .item144 .col-md-6 {
        width: 80%;
    }
    .accordion-custom-01 h2.accordion-header button.accordion-button {
        padding: 0.50rem 2rem 2rem 2rem;
    }
    .accordion-custom-01 .accordion-body {
        padding: 2rem 2rem;
    }
    ul.item145 li { width: 100%; }
    h1.item144 { font-size: 52px; }
    .intro-2-col-section {
        background-size: 385px;
        background-position: 0% 65%;
    }
    .item146-1 { padding-bottom: 0 !important; background-position: 0% 75% !important; }
    .item146-2 { background-position: 0% 95% !important; }
    .item146-3 { padding-bottom: 10.75rem !important; background-position: 0% 90% !important; }
    h2.item147 {
        margin-top: -30px !important;
    }
    .item153 { padding: 0 !important; }
    .item154 { padding: 0 !important; padding-right: 1rem !important; }
    .tabs-section-01 .nav-tabs .nav-link {
        border: 1px solid #dee2e6;
        border-radius: 10px !important;
        margin-bottom: 10px;
    }
    .item155 { margin-top: -21px !important; }
    .tabs-section-01 .nav-tabs .nav-link.active {
        background-color: var( --color-white ) !important;
    }
    .item157 {
        padding: 2rem !important;
    }
    .item158 { font-size: 34px; }
    .item159 { background-size: 375px; background-position: 0 75%; }
    h2.item162 {
        margin: 50px auto 90px auto !important;
    }
    .item164 { padding-top: 0 !important; padding-bottom: 0 !important; }
    .item165 { font-size: 40px; margin: -20px 0 90px 0 !important; }
    .item169 { padding-top: 0 !important; }
    .item170 { padding-top: 3.25rem !important; }
    .sub-heading-section-01 .sub-heading { margin-bottom: 0 !important; }
    .item131 { margin-bottom: 5.25rem !important; }
    .item155 {
        font-size: 32px;
        margin-bottom: 30px !important;
    }
    .item117 h3 { font-size: 24px; margin: 35px 0 20px 0; min-height: 0; }
    .services-section h2 {
        margin-bottom: 30px;
        margin-top: 0 !important;
    }
    .dropdown-menu .row {
        gap: 20px;
    }
}

/* Large (LG) - For screens up to 992px */
@media (max-width: 991.98px) {
    /* Your styles for screens smaller than 992px */
}

/* Medium (MD) - For screens up to 768px */
@media (max-width: 767.98px) {
    /* Your styles for screens smaller than 768px */
    h1 { font-size: 48px; } h2 { font-size: 38px; } h3 { font-size: 32px; } h4 { font-size: 25px; } h5 { font-size: 22px; } h6 { font-size: 18px; }
    .header-main-nav .navbar-toggler {
        font-size: 18px;
    }
    .item111-1 p {
        font-size: 18px;
    }
    .item111 h3 {
        font-size: 32px;
    }
    .item111 p {
        font-size: 19px;
    }
    .card.item111 img {
        height: 65px;
        right: 30px;
        top: 35px;
    }
    .item113 {
        padding-right: calc(var(--bs-gutter-x)* .5);
    }
    .item114, .item114-1 {
        margin-top: 15px;
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
    }
    .item113-1 {
        margin-top: 0px;
        margin-bottom: 15px;
        padding-left: calc(var(--bs-gutter-x)* .5);
    }
    .services-section .col-md-3 {
        width: 100%;
    }
    .services-section h2 {
        margin-bottom: 80px;
    }
    .services-section-2 h2 {
        margin-bottom: 30px !important;
    }
    .item122 {
        border-top: 0;
        border-left: 1px solid var( --primary-color );
        padding: 10px 30px 20px 45px;
        margin-left: 12px;
    }
    .purple-sq-01 {
        left: -12px;
    }
    .item124 {
        margin-top: 0;
    }
    .path-to-action-section {
        padding-bottom: 255px;
        background-position: center bottom;
    }
    .item129 {
        display: none;
    }
    .item127 h3 {
        font-size: 34px;
    }
    .item122 h3 {
        font-size: 34px;
    }
    .item127 {
        padding: 40px 0 40px 0 !important;
    }
    .row .item127:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid var( --primary-color );
    }
    .item127 p {
        margin-bottom: 0;
    }
    .item127 h3 {
        min-height: 0;
    }
    .item126 {
        margin: 0 auto 5px auto;
    }
    .row .item127:last-child {
        padding-bottom: 0 !important;
    }
    .working-together-section {
        background-size: 100%;
    }
    .item115 {
        padding: 0 2.25rem;
    }
    .item131 .col-md-5 img {
        height: auto;
    }
    .item137 { width: 100%; }
    .item139 { font-size: 30px; }
    .item144 .col-md-6 {
        width: 100%;
    }
    h1.item144 { font-size: 50px; }
    .intro-2-col-section {
        background-size: 325px;
        background-position: 0% 100%;
    }
    .item146 { padding-bottom: 8.75rem; }
    .item146-1 { padding-bottom: 8.75rem !important; background-position: 0% 100% !important; }
    .intro-2-col-section {
        padding-top: 4.25rem !important;
        margin-bottom: 10px !important;
    }
    h3.item147 {
        font-size: 34px;
        margin-bottom: 90px;
    }
    .item148 { margin-top: -40px; }
    .accordion-xd-02 h2.accordion-header {
        margin-bottom: 0 !important;
    }
    .item150 { background-size: 100%; }
    .item151 { padding-top: 0 !important; padding-bottom: 4.75rem !important; }
    .item152 { text-align: center !important; }
    .item153 { justify-content: center !important; margin-top: 1.5rem !important; }
    .tabs-section-01 .tab-pane {
        padding: 20px 20px 35px 20px !important;
    }
    .item155 { margin-top: -21px !important; margin-bottom: 30px !important; font-size: 30px; }
    .item157 {
        margin-top: 25px !important;
    }
    .item158 { font-size: 32px; }
    h2.item162 {
        margin: 0 auto 90px auto !important;
    }
    .item164 { padding-top: 0 !important; }
    .item165 { font-size: 34px; margin: -20px 0 70px 0 !important; }
    .item131 .p-5 {
        padding: 2.5rem 1.75rem !important;
    }
    .item131 h2 {
        font-size: 30px;
    }
    .item171 h2 {
        margin-top: 0 !important;
        margin-bottom: 15px !important;
    }
    .fluid-icons-section h4 {
        margin-bottom: 10px !important;
    }
    .sub-heading-section-01 h2, .sub-heading-section-01 p {
        text-align: left !important;
    }
    .who-we-are-section {
        margin-top: 0 !important;
    }
    .intro-2-col-section h2 {
        font-size: 36px;
        margin-bottom: -30px;
    }
    .item173 { padding-top: 2.75rem; }
    .item112 h3 {
        font-size: 24px;
    }
}

/* Small (SM) - For screens up to 576px */
@media (max-width: 575.98px) {
    /* Your styles for screens smaller than 576px */
}

/* Extra Screen Size Class & Id Handles */
@media (min-width: 768px) {
    .hide-md-and-above {
        display: none !important; /* Use !important to override inline styles if necessary */
    }
}