/*
    Theme: Vedeshra Technologies
    Author: Vedeshra Technologies
    Version: 1.0
*/

/* CSS For All */

*,*::before,*::after{
    border: 0;
    padding: 0;
    margin: 0;
    box-shadow: none;
    box-sizing: border-box;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/assets/fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900; /* Variable weight range */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('/assets/fonts/Inter-VariableFont_opsz_wght.ttf') format('truetype');
    font-weight: 100 900; /* Variable weight range */
    font-style: normal;
    font-display: swap;
}

html{
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-bg-color-dark) var(--primary-bg-color-lightest);
}

body{
    font-size: var(--paragraph-regular-size);
    line-height: 1.4;
    font-family: "Inter";
    font-weight: 400;
    color: var(--primary-font-color);
    overflow: hidden auto;
}

a{
    text-decoration: none;
    color: currentColor;
}

.container{
    max-width: 1440px;
    padding: 0 20px;
    margin: 0 auto;
}

h1,h2,h3,h4,h5,h6{
    font-family: "Montserrat";
    color: var(--primary-bg-color);
}

h1{
    font-size: var(--h1-desktop-size);
    font-weight: 800;
}

h2{
    font-size: var(--h2-desktop-size);
    font-weight: 700;
}

h3{
    font-size: var(--h3-desktop-size);
    font-weight: 600;
}

h4{
    font-size: var(--h4-desktop-size);
    font-weight: 600;
}

h5{
    font-size: var(--h5-desktop-size);
    font-weight: 600;
}

h6{
    font-size: var(--h6-desktop-size);
    font-weight: 600;
}

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

ul,ol{
    list-style-type: none;
}

button,.button{
    display: block;
    width: 100%;
    max-width: 140px;
    background-color: var(--secondary-bg-color);
    color: var(--white-font-color);
    font-family: "Inter";
    font-weight: 500;
    font-size: var(--paragraph-small-size);
    padding: 10px 12px;
    line-height: 1;
    border-radius: 4px;
    text-align: center;
    transition: all 0.6s ease-in-out;
    box-shadow: var(--tertiary-box-shadow);
    cursor: pointer;
}

button:hover,.button:hover{
    background-color: var(--primary-bg-color);
    transition: all 0.6s ease-in-out;
    box-shadow: var(--secondary-box-shadow);
    transform: translateY(-1px);
}

.section{
    padding-top: 50px;
    padding-bottom: 50px;
}

/* CSS For WhatsApp Icon */

@keyframes glow {
    0%{
        transform: scale(1);
    }
    50%{
        transform: scale(1.1);
    }
    0%{
        transform: scale(1);
    }
}

.whatsappiconbox {
    position: fixed;
    left: 10px;
    bottom: 10px;
    width: 60px;
    height: 60px;
    display: block;
    z-index: 9999;
    animation: glow 2s infinite;
}

.whatsappiconbox a {
    display: block;
}

.whatsappicon img {
    filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.75));
}

/* CSS For Announcement Bar */

section.announcement-bar-section{
    padding: 10px 0;
    background-color: var(--primary-bg-color);
    color: var(--white-font-color);
}

.announcment-bar-flexbox{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.socialflexbox{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--h5-desktop-size);
}

.socialflexbox *{
    display: flex;
}

.socialflexitembox {
    transition: all 0.6s ease-in-out;
}

.socialflexitembox:hover a i {
    transform: scale(1.1) translateY(-2px);
    color: var(--secondary-bg-color);
    transition: all 0.6s ease-in-out;
}

.announcement-bar-section .socialflexitembox:hover a i{
    color: var(--white-font-color);
}

.announcement-contact-information-flexbox{
    display: flex;
    gap: 20px;
}

.announcement-bar-contact-flexbox{
    display: flex;
    gap: 10px;
    align-items: center;
    transition: all 0.6s ease-in-out;
}

.announcement-bar-content-box a{
    font-size: var(--paragraph-small-size);
}

.announcement-bar-contact-flexbox:hover .announcement-bar-icon-box a i{
    transform: scale(1.1) translateY(-2px);
    transition: all 0.6s ease-in-out;
}

.announcement-bar-contact-flexbox .announcement-bar-icon-box a i{
    transition: all 0.6s ease-in-out;
}

/* CSS For Header */

.desktopheaderbox{
    padding: 8px 0;
    box-shadow: var(--tertiary-box-shadow);
}

.desktopheaderflexbox{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.desktopheaderlogobox a{
    max-width: 200px;
    display: block;
    padding-right: 20px;
}

.desktopmenubox ul{
    display: flex;
    gap: 8px;
}

.desktopmenubox ul a{
    padding: 4px 6px;
    position: relative;
    transition: all 0.6s ease-in-out;
}

.desktopquotebuttonbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: 140px;
}

.desktopmenubox ul a::after {
    content: "";
    display: block;
    width: 0%;
    height: 2px;
    background: var(--secondary-bg-color);
    position: absolute;
    bottom: -24px;
    transition: all 0.6s ease-in-out;
    opacity: 0;
}

.desktopmenubox ul li:hover a::after,
.desktopmenubox ul a.active::after {
    width: 100%;
    transition: all 0.6s ease-in-out;
    opacity: 1;
}

.desktopmenubox ul li:hover a,
.desktopmenubox ul a.active {
    color: var(--secondary-bg-color);
    transition: all 0.6s ease-in-out;
}

header.header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: var(--white-font-color);
}

.mobileheaderbox{
    display: none;
}

/* CSS For Home Hero Section */
.herosectionflexbox{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.herosectionflexcontentbox{
    flex: 0 0 auto;
    width: 100%;
    max-width: 50%;
}

.herosectionflexcontentbox h1{
    font-size: var(--h2-desktop-size);
    color: var(--primary-bg-color);
    font-weight: 700;
    margin-bottom: 10px;
}

.herosectionflexcontentbox h1 span.beforefocussedtext{
    display: block;
}

.herosectionflexcontentbox h1 span.focussedtext{
    color: var(--secondary-bg-color);
}

.herosectionflexcontentbox p{
    padding-right: 45px;
    font-size: var(--paragraph-subtitle-size);
    margin-bottom: 30px;
}

.herosectionfleximagebox{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc(50% - 40px);
}

/* CSS For Partner Section */
section.partner-section.section{
    background-color: var(--primary-bg-color);
    padding: 30px 0;
}

.partnerflexbox{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.partnerflexitembox{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 100px)/6);
    background-color: var(--white-font-color);
    box-shadow: var(--primary-box-shadow);
    border-radius: 4px;
}

.partnerflexitembox *{
    display: flex;
    justify-content: center;
}

/* CSS For Why Choose Us Section */
.whychooseus.section{
    background-color: #f9f9f9;
}

.sectiontitlebox{
    text-align: center;
    margin-bottom: 30px;
}

.sectiontitlebox .subtitle{
    font-size: var(--paragraph-small-size);
    font-weight: 700;
    line-height: 1;
    color: var(--tertiary-bg-color);
    margin-bottom: 5px;
}

.sectiontitlebox h2.sectiontitle{
    margin-bottom: 10px;
}

.sectiontitlebox .sectioncontent {
    font-size: var(--paragraph-regular-size);
    font-weight: 600;
    color: #2c3539;
}

.whychooseusflexbox{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.whychooseusflexitembox{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 40px)/3);
    border-radius: 4px;
    padding: 20px;
    box-shadow: var(--primary-box-shadow);
    transition: all 0.6s ease-in-out;
}

.whychooseusflexitem{
    display: flex;
    gap: 15px;
}

.whychooseusimagebox {
    flex: 0 0 auto;
    max-width: 60px;
    width: 100%;
}

.whychooseuscontentbox h3 {
    font-size: var(--h5-desktop-size);
    margin-bottom: 10px;
    color: var(--primary-bg-color);
    transition: all 0.6s ease-in-out;
}

.whychooseusflexitembox:hover {
    box-shadow: var(--secondary-box-shadow);
    transition: all 0.6s ease-in-out;
}

.whychooseusflexitembox:hover .whychooseuscontentbox h3 {
    color: var(--secondary-bg-color);
}

.whychooseusflexitembox:hover img {
    transform: rotate(360deg) translateY(-2px);
    transition: all 0.6s ease-in-out;
}

/* CSS For Image with Text Section */

.imagewithtextflexbox{
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

.imagewithtextfleximagebox {
    flex: 0 0 auto;
    max-width: 40%;
    width: 100%;
    padding-left: 0;
}

.imagewithtextcontentbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc(60% - 40px);
    padding-right: 80px;
}

.imagewithtextsection.reversed .imagewithtextcontentbox {
    padding-left: 80px;
    padding-right: 0;
}

.imagewithtextcontentbox h2{
    margin-bottom: 10px;
}

.imagewithtextcontent p {
    margin-bottom: 15px;
    font-size: 15px;
    padding-right: 20px;
}

.imagewithtextcontentbox p.subtitle {
    font-weight: 700;
    color: var(--tertiary-bg-color);
    margin-bottom: 10px;
    font-size: var(--paragraph-small-size);
}

.imagewithtextcontent ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.imagewithtextcontent ul li {
    line-height: 1.2;
    font-weight: 500;
}

.imagewithtextbuttonbox {
    padding-top: 30px;
}

.imagewithtextsection.reversed .button:hover{
    background-color: var(--tertiary-bg-color);
}

/* CSS For Services Slider Section */

.servicesslider.section{
    background-color: #f9f9f9;
}

.servicessectiontitleflexbox{
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
    padding-bottom: 40px;
}

.servicessectiontitlebox{
    flex: 0 0 auto;
    max-width: 40%;
    width: 100%;
}

.servicessectioncontentbox{
    flex: 0 0 auto;
    max-width: calc(60% - 80px);
    padding-left: 120px;
}

.servicessectioncontentbox p {
    border-top: 2px solid var(--primary-bg-color);
    padding-top: 20px;
    padding-right: 20px;
}

.servicessubtitlebox{
    display: flex;
    gap: 8px;
    align-items: center;
}

.servicesarrowicon i{
    display: block;
    font-size: var(--paragraph-small-size);
}

.servicestitlebox h2 {
    font-weight: 700;
    margin-top: 10px;
    line-height: 1.1;
    color: var(--primary-bg-color);
}

.servicessliderbox .servicescardbox{
    padding: 20px;
    border-radius: 4px;
    background-image: linear-gradient(90deg,var(--primary-bg-color-lightest) 0%,var(--tertiary-bg-color-lightest) 100%);
    transition: all 0.6s ease-in-out;
}

.servicessliderbox .servicescardbox:hover{
    background-image: linear-gradient(180deg,#FFFFFF 0%,var(--secondary-bg-color-light) 100%);
    box-shadow: var(--quartnery-box-shadow);
    transition: all 0.6s ease-in-out;
}

.servicessliderbox .servicesslide{
    margin-right: 20px;
}

.servicessliderbox .servicesslide .servicescardicon{
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    transition: all 0.6s ease-in-out;
}

.servicessliderbox .servicescardbox:hover .servicescardicon img{
    transform: rotate(360deg) translateY(-2px);
    transition: all 0.6s ease-in-out;
}

.slick-slide img{
    display: block;
}

.servicessliderbox .servicesslide .servicescardcontent{
    text-align: center;
}

.servicessliderbox .servicesslide .servicescardcontent h3{
    font-size: var(--h6-desktop-size);
    text-align: center;
    margin-bottom: 10px;
    min-height: 51px;
}

/* CSS For CTA Text Center Section */
.cta-text-center.section{
    padding: 30px 0;
    text-align: center;
    background-color: var(--primary-bg-color);
    color: var(--white-font-color);
}

.ctatextcentersectionbox h2{
    color: var(--white-font-color);
    margin-bottom: 10px;
}

.ctatextcentersectionbox p{
    max-width: 75%;
    margin: 0 auto 20px;
}

.ctatextcentersectionbox .button{
    max-width: 220px;
    margin: 0 auto;
}

.ctatextcentersectionbox .button:hover{
    background-color: var(--tertiary-bg-color);
}

/* CSS For Industries Slider Section */
.industries-slider-section-flex-box{
    display: flex;
    gap: 40px;
}

.industries-slider-section-content-box,
.industries-slider-section-slider-box{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 40px)/2);
}

.industries-slider-section-content-box p.subtitle{
    font-weight: 600;
    color: var(--tertiary-bg-color);
    margin-bottom: 10px;
}

.industries-slider-section-content-box h2.title{
    font-weight: 700;
    color: var(--primary-bg-color);
    margin-bottom: 20px;
}

.industries-slider-section-content-box h2.title span{
    display: block;
}

.industries-slider-section-content-box p.content {
    font-size: var(--paragraph-regular-size);
    max-width: 80%;
    margin-bottom: 30px;
}

.industries-slider-grid-box {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 0 10px;
}

.industries-slide-grid-item-box {
    padding: 20px 15px;
    border-radius: 4px;
    background-image: linear-gradient(90deg, var(--primary-bg-color-lightest) 0%, var(--tertiary-bg-color-lightest) 100%);
    transition: all 0.6s ease-in-out;
    width: 100%;
}

.industries-slide-grid-item-box:hover{
    background-image: linear-gradient(180deg, #FFFFFF 0%, var(--secondary-bg-color-light) 100%);
    transition: all 0.6s ease-in-out;
    box-shadow: var(--quartnery-box-shadow);
}

.industries-slide-grid-flex-box {
    display: flex;
    align-items: center;
    gap: 20px;
}

.industries-slide-grid-icon-box {
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
}

.industries-slide-grid-item-box:hover img{
    transform: rotate(360deg);
    transition: all 0.6s ease-in-out;
}

.industries-slide-grid-content-box {
    flex: 0 0 auto;
    max-width: calc(100% - 70px);
    width: 100%;
}

.industries-slide-grid-content-box h3 {
    font-size: var(--h6-desktop-size);
}

/* CSS For Steps Section */

.steps-section{
    background-color: #f9f9f9;
}

.steps-section-title h2 {
    text-align: center;
}

.steps-section-flex-box {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding-top: 30px;
}

.steps-section-flex-item-box {
    flex: 0 0 auto;
    max-width: calc((100% - 60px)/4);
    width: 100%;
    padding: 20px;
    text-align: center;
}

.steps-section-icon-box {
    max-width: 60px;
    margin: 0 auto 20px;
}

.steps-section-flex-item {
    transition: all 0.6s ease-in-out;
}

.steps-section-flex-item:hover .steps-section-icon-box img {
    transform: rotate(360deg) translateY(-2px);
    transition: all 0.6s ease-in-out;
}

.steps-section-flex-item:hover .steps-section-content-box p {
    color: var(--tertiary-bg-color-darkest);
    transition: all 0.6s ease-in-out;
}

/* CSS For Technology Tabber Section */

.technology-tabber-container-box {
    padding: 10px 0;
}

.technology-tab-button-box ul.tabs {
    display: flex;
    justify-content: center;
    list-style-type: none;
    align-items: center;
    gap: 4px;
    border-bottom: 1px solid var(--primary-bg-color-light);
}

.technology-tab-button-box ul.tabs li.tab-link {
    padding: 6px 12px;
    white-space: nowrap;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.6s ease-in-out;
}

.technology-tab-button-box ul.tabs li.tab-link.current{
    border-bottom: 1px solid var(--primary-bg-color);
}

.technology-tab-button-box ul.tabs li.tab-link:hover{
    border-bottom: 1px solid var(--primary-bg-color);
    transition: all 0.6s ease-in-out;
}

.technology-tab-wrapper-content-box .tab-content {
    display: none;
    padding: 20px 20px 0;
    margin: 0;
    border-radius: 0 10px 10px;
    width: 100%;
    position: relative;
}

.technology-tab-wrapper-content-box .tab-content.current {
    display: inherit;
}

.technology-item-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    padding: 10px 0;
}

.technology-item-box {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 100px)/6);
}

.technology-icon {
    border-radius: 8px;
    transition: all 0.6s ease-in-out;
    padding: 5px 0;
    min-height: 100%;
    box-shadow: var(--primary-box-shadow);
    transition: all 0.6s ease-in-out;
}

.technology-icon:hover {
    transition: all 0.6s ease-in-out;
    cursor: pointer;
    box-shadow: var(--secondary-box-shadow);
}

.technology-icon a {
    width: 120px;
    height: 80px;
    padding: 10px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    transition: all 0.6s ease-in-out;
}

.technology-icon:hover a {
    transition: all 0.6s ease-in-out;
    transform: scale(1.1);
}

/* CSS For Contact Section */
section.contactsection {
    background-color: #f9f9f9;
}

.contactsectionflexbox {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.contactsectioncontentbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 40px)/2);
}

.contactsectiontitlebox p.subtitle {
    color: var(--tertiary-bg-color);
    font-weight: 600;
    margin-bottom: 10px;
}

.contactsectiontitlebox h2 {
    margin-bottom: 20px;
}

.contactsectiontitlebox p.content {
    max-width: 85%;
    font-size: var(--paragraph-subtitle-size);
    line-height: 1.5;
}

.contactaddressiconboxcontainer {
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}

.contactaddressflexbox {
    display: flex;
    gap: 15px;
    align-items: center;
    max-width: max-content;
    transition: all 0.6s ease-in-out;
}

.contactaddressflexbox:hover .contactaddressflexiconbox{
    background: var(--secondary-bg-color);
    transition: all 0.6s ease-in-out;
}

.contactaddressflexiconbox {
    flex: 0 0 50px;
    max-width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-bg-color);
    color: var(--white-font-color);
    border-radius: 50%;
    box-shadow: var(--primary-box-shadow);
    width: 50px;
    height: 50px;
}

.contactaddressflexiconbox i {
    display: block;
    transition: all 0.6s ease-in-out;
}

.contactaddressflexbox:hover .contactaddressflexiconbox{
    transition: all 0.6s ease-in-out;
    transform: rotate(360deg);
}

.contactaddressflexcontentbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc(100% - 65px);
}

.contactaddressflexcontentbox p.maincontactbox a {
    color: var(--primary-bg-color);
    font-weight: 700;
    font-size: var(--paragraph-title-size);
    line-height: 1.5;
}

.contactaddressflexcontentbox p.subcontent {
    line-height: 1.5;
}

.contactsectionflexformbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 40px)/2);
}

.contactsectionflexform {
    padding: 20px;
    border-radius: 4px;
    box-shadow: var(--tertiary-box-shadow);
    background-color: var(--white-font-color);
}

.formflexbox {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding-bottom: 20px;
}

.formflexitembox.box-50 {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 20px) / 2);
}

.formflexitembox input.forminputfield, .formflexitembox select, .formflexitembox textarea.forminputmessagefield {
    width: 100%;
    border: none;
    box-shadow: var(--quartnery-box-shadow);
    border-radius: 4px;
    display: block;
    transition: all 0.6s ease-in-out;
    color: var(--secondary-font-color);
    padding: 10px 15px;
    font-size: var(--paragraph-small-size);
    font-family: 'Inter';
}

.formflexitembox input.forminputfield:hover, .formflexitembox select:hover, .formflexitembox textarea.forminputmessagefield:hover, .formflexitembox input.forminputfield:focus, .formflexitembox select:focus, .formflexitembox textarea.forminputmessagefield:focus {
    box-shadow: #00000026 0 0 0 1px;
    transition: all 0.6s ease-in-out;
    outline: none;
}

input#otherservices {
    margin-top: 20px;
}

.formflexitembox.box-100 {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
}

.formflexitembox textarea.forminputmessagefield {
    min-height: 130px;
}

.formsubmitbuttonbox button.contactformbutton {
    max-width: 100%;
}

form .error {
    margin-top: 10px;
    font-size: var(--paragraph-smallest-size);
    color: #db5461;
    font-weight: 600;
    border: 1px solid;
    padding: 8px;
    border-radius: 4px;
}

/* CSS For Section Banner Section */

section.sectionbannersection.section {
    padding: 100px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

section.sectionbannersection.section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #00000040;
    z-index: 1;
}

.sectionbannersection .container {
    position: relative;
    z-index: 2;
}

.sectionbannersection  h1.bannertitle {
    text-align: center;
    color: var(--white-font-color);
    font-weight: 600;
    margin-bottom: 10px;
}

.sectionbannersection p.bannercontent {
    max-width: 75%;
    margin: 0 auto;
    text-align: center;
    color: var(--white-font-color);
}

/* CSS For Features Section */

.feature-section.section{
    background-color: #f9f9f9;
}

.featureflexsectionbox {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.featureflexitembox {
    flex: 0 0 auto;
    max-width: calc((100% - 100px) / 6);
    width: 100%;
    padding: 20px 15px;
    background-image: linear-gradient(180deg, #FFFFFF 0%, var(--primary-bg-color-lightest) 100%);
    border-radius: 4px;
    box-shadow: var(--primary-box-shadow);
    transition: all .6s ease-in-out;
}

.featureflexitembox:hover {
    background-image: linear-gradient(180deg, #FFFFFF 0%, var(--secondary-bg-color-light) 100%);
    transition: all .6s ease-in-out;
    box-shadow: var(--secondary-box-shadow);
}

.featureiconbox {
    width: 80px;
    height: 80px;
    max-width: 80px;
    margin: 0 auto 20px;
}

.featureiconbox img {
    object-fit: contain;
}

.featureflexitembox:hover .featureiconbox img{
    transition: all 0.6s ease-in-out;
    transform: rotate(360deg) translateY(-2px);
}

.featurecontentbox p {
    text-align: center;
    font-weight: 600;
}

/* CSS For Services Grid Section */

.servicesgridbox {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.servicesgriditembox {
    flex: 0 0 auto;
    padding: 20px;
    border-radius: 4px;
    box-shadow: var(--tertiary-box-shadow);
    width: 100%;
    max-width: calc((100% - 60px) / 4);
    background-image: linear-gradient(90deg, var(--primary-bg-color-lightest) 0%, var(--tertiary-bg-color-lightest) 100%);
    transition: all 0.6s ease-in-out;
}

.servicesgriditembox:hover {
    background-image: linear-gradient(180deg, #FFFFFF 0%, var(--secondary-bg-color-light) 100%);
    transition: all 0.6s ease-in-out;
    box-shadow: var(--quartnery-box-shadow);
}

.servicesgriditembox:hover .servicesiconbox img{
    transform: rotate(360deg) translateY(-2px);
    transition: all 0.6s ease-in-out;
}

.servicesiconbox {
    width: 70px;
    height: 70px;
    padding: 5px;
    margin-bottom: 10px;
}

.servicescontentbox h3 {
    font-size: var(--h6-desktop-size);
    min-height: 51px;
    margin-bottom: 10px;
}

.servicesgriditembox:hover .servicescontentbox h3 a{
    color: var(--tertiary-bg-color-darkest);
    transition: all 0.6s ease-in-out;
}

/* CSS For Services Page */

body.services .imagewithtextcontent p {
    font-size: var(--paragraph-title-size);
}

/* CSS For CTA Section */

section.cta-section.section {
    background-color: var(--primary-bg-color);
    padding: 40px 0;
}

.ctaflexbox {
    display: flex;
    gap: 40px;
    justify-content: space-between;
}

.ctacontentflexbuttonbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: 140px;
}

.ctacontentflexbuttonbox button:hover{
    background-color: var(--tertiary-bg-color);
    transition: all 0.6s ease-in-out;
}

.ctacontentflexitembox h2 {
    margin-bottom: 10px;
    color: var(--white-font-color);
    font-weight: 600;
}

.ctacontentflexitembox p {
    color: var(--white-font-color);
}

/* CSS For Industries Page */

body.industries .imagewithtextcontentbox {
    max-width: calc(65% - 40px);
}

body.industries .imagewithtextcontentbox p{
    font-size: var(--paragraph-title-size);
}

body.industries .imagewithtextfleximagebox {
    max-width: 35%;
}

/* CSS For About Content Section */

.about-content.section{
    background-image: url('/assets/img/background/light-grey-background.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.aboutcontentflexbox{
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

.aboutcontentflexitembox{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 40px)/2);
}

.aboutcontentflexitembox h2 {
    font-size: var(--h4-desktop-size);
    font-weight: 600;
}

.aboutcontentflexitembox p.subtitle {
    font-weight: 700;
    margin-bottom: 20px;
    padding-right: 30px;
    line-height: 1.5;
}

.aboutcontentflexitembox p.content {
    line-height: 1.5;
    font-weight: 500;
}

/* CSS For About Us Page */

body.about-us .imagewithtextcontent p{
    font-size: var(--paragraph-subtitle-size);
    line-height: 1.5;
}

/* CSS For What We Do */

.what-we-do.section{
    background-color: #f9f9f9;
}

.whatwedoflexcontainer {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
}

.whatwedoflexitembox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 75px)/4);
    padding: 20px;
    border-radius: 20px 20px 20px 0;
    box-shadow: var(--primary-box-shadow);
    transition: all 0.6s ease-in-out;
}

.whatwedoflexitembox:hover {
    box-shadow: var(--secondary-box-shadow);
    transition: all 0.6s ease-in-out;
    border-radius: 20px 0 20px 20px;
}

p.whatwedonumberitem {
    font-size: var(--paragraph-small-size);
    color: var(--primary-bg-color);
    font-weight: 700;
    margin-bottom: 10px;
}

h3.whatwedotitle {
    font-size: var(--paragraph-subtitle-size);
    min-height: 51px;
    margin-bottom: 10px;
    padding-right: 20px;
}

.whatwedoflexitembox:hover h3.whatwedotitle{
    color: var(--primary-bg-color-darkest);
}

/* CSS For CTA Container Section */

.ctacontainersectionbox {
    background-color: var(--primary-bg-color);
    color: var(--white-font-color);
    box-shadow: var(--secondary-box-shadow);
    border-radius: 20px;
    padding: 35px 25px;
}

.ctacontainersectionflexbox {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: space-between;
}

.ctacontainersectionflexcontentbox {
    flex: 0 0 75%;
    max-width: 75%;
    width: 100%;
}

.ctacontainersectionflexcontentbox h3 {
    color: var(--white-font-color);
    font-size: var(--h4-desktop-size);
    margin-bottom: 15px;
}

.ctacontainersectionflexcontentbox p {
    font-size: var(--paragraph-small-size);
    font-weight: 500;
}

.ctacontainersectionflexbuttonbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: 140px;
}

.ctacontainersectionflexbuttonbox button:hover {
    background: var(--tertiary-bg-color);
}

/* CSS For Contact Page Section */

.contact-page-section.section{
    background-color: #f9f9f9;
}

.contactpageflexbox{
    display: flex;
    flex-wrap: wrap;
}

.contactpageflexitemboxcontent{
    flex: 0 0 auto;
    width: 100%;
    max-width: 50%;
    padding-right: 40px;
}

.contactpageflexitemboxform{
    flex: 0 0 auto;
    width: 100%;
    max-width: 50%;
    padding-left: 40px;
    border-left: 1px solid var(--primary-bg-color);
}

.contactpageflexitemboxcontent p.subtitle {
    font-size: var(--paragraph-small-size);
    margin-bottom: 10px;
    font-weight: 700;
    color: var(--tertiary-bg-color);
}

.contactpageflexitemboxcontent h2.title {
    margin-bottom: 20px;
}

.contactpageflexitemboxcontent p.content {
    margin-bottom: 20px;
    padding-right: 20px;
    font-size: var(--paragraph-title-size);
}

.contactpageimagecontentboxflexbox {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    padding-top: 20px;
}

.contactpageimagecontentboxflexitembox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 25px)/2);
    transition: all 0.6s ease-in-out;
}

.contactpageimagecontentboxflexitembox:hover .contactpageimageicon i{
    transform: translateY(-2px);
    transition: all .6s ease-in-out;
    color: var(--secondary-bg-color);
}

.contactpageimagecontentboxflexitembox:hover .contactpagecontentbox h3{
    color: var(--secondary-bg-color);
    transition: all 0.6s ease-in-out;
}

.contactpageimageiconflexbox {
    display: flex;
    gap: 15px;
}

.contactpageimageicon {
    flex: 0 0 30px;
    max-width: 30px;
}

.contactpageimageicon i {
    font-size: var(--h4-desktop-size);
    display: block;
}

.contactpagecontentbox h3 {
    margin-bottom: 8px;
    font-size: var(--paragraph-subtitle-size);
    line-height: 1;
}

.contactpagecontentbox p.text {
    font-weight: 500;
    padding-right: 20px;
}

.contactpageimagecontentboxflexitembox:last-child {
    max-width: 100%;
}

.contactpageflexitemboxformbox {
    min-height: 100%;
    background: var(--white-font-color);
    border-radius: 8px;
    box-shadow: var(--quartnery-box-shadow);
    padding: 30px 20px;
}

.contactpagesubmessagebox {
    padding-top: 20px;
    text-align: center;
}

.contactpagesubmessagebox p a {
    font-weight: 500;
    color: var(--secondary-bg-color);
}

.contactpagesubmessagebox p {
    font-size: var(--paragraph-small-size);
}

/* CSS For Contact Map Section */

.contactmapbox iframe {
    border-radius: 4px;
    width: 100%;
    height: 500px;
    box-shadow: var(--secondary-box-shadow);
    border: none;
}

/* CSS For Book a Meeting Section */

section.book-a-meeting-section {
    position: relative;
    overflow: hidden;
}

.book-meeting-backgroundflexbox {
    display: flex;
    background: var(--primary-bg-color);
    flex-wrap: nowrap;
}

.book-meeting-bgcolorbox {
    flex: 0 0 50%;
    width: 100%;
    max-width: 50%;
}

.book-meeting-bgimagebox {
    flex: 0 0 50%;
    width: 100%;
    max-width: 50%;
}

.book-meeting-bgimagebox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.book-meeting-contentbox {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.book-meeting-contentflexbox {
    display: flex;
    flex-wrap: nowrap;
}

.book-meeting-contentflex-contentbox {
    flex: 0 0 50%;
    width: 100%;
    max-width: 50%;
    padding: 50px 100px 50px 0;
}

.book-meeting-contentflex-contentbox h2 {
    color: var(--white-font-color);
    margin-bottom: 10px;
}

.book-meeting-contentflex-contentbox h2 span.focussedtext {
    display: block;
    color: var(--secondary-bg-color);
}

.book-meeting-contentflex-contentbox p {
    margin-bottom: 20px;
    color: var(--white-font-color);
    line-height: 1.6;
    padding-right: 20px;
}

.bookmeetingbuttonbox a.button:hover {
    background: var(--tertiary-bg-color);
}

/* CSS For Get Quote Section */

section.getquotesection.section {
    background-color: #f9f9f9;
}

.getquoteflexbox {
    display: flex;
    flex-wrap: wrap;
}

.getquoteformboxcontainer {
    flex: 0 0 auto;
    max-width: 60%;
    padding-right: 80px;
    width: 100%;
}

.getquotecontentboxcontainer {
    flex: 0 0 auto;
    width: 100%;
    max-width: 40%;
    padding-left: 40px;
    padding-right: 20px;
}

.getquoteformbox {
    padding: 30px;
    background: var(--white-font-color);
    box-shadow: var(--primary-box-shadow);
    border-radius: 8px;
}

.contact-form-title p {
    margin-top: 6px;
    margin-bottom: 20px;
}

.getquoteformcaption p {
    font-size: var(--paragraph-small-size);
    text-align: center;
    margin-top: 15px;
}

.getquoteformcaption p a {
    font-weight: 600;
    color: var(--secondary-bg-color);
}

.contact-title-box {
    display: flex;
}

.left-arrow-box {
    width: 40px;
    height: 40px;
    background: var(--primary-bg-color);
    border-radius: 50%;
    box-shadow: var(--primary-box-shadow);
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--white-font-color);
    font-size: var(--h5-desktop-size);
    transition: all .6s ease-in-out;
}

.left-arrow-box:hover{
    transition: all .6s ease-in-out;
    background-color: var(--secondary-bg-color);
}

.contact-title-content {
    padding: 0 0 25px 20px;
    flex: 0 0 calc(100% - 40px);
}

.contact-title-content h2 {
    font-size: var(--h3-desktop-size);
    line-height: 1.4;
}

.contact-title-content p {
    font-size: var(--paragraph-small-size);
}

.contact-steps-container {
    padding-bottom: 20px;
    border-bottom: 2px solid var(--primary-bg-color-lightest);
    border-radius: 8px;
}

.contact-steps-item-box {
    display: flex;
    justify-content: center;
    transition: all .6s ease-in-out;
}

.contact-steps-number-box {
    position: relative;
}

.contact-steps-number-box span {
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: var(--primary-bg-color-lightest);
}

.contact-steps-item-box:not(:last-child) .contact-steps-number-box:after {
    content: "";
    display: block;
    height: 100%;
    width: 3px;
    background: var(--primary-bg-color-lightest);
    position: absolute;
    left: 50%;
}

.contact-steps-item-box:hover span{
    background-color: var(--tertiary-bg-color-lightest);
    transition: all .6s ease-in-out;
}

.contact-steps-item-box:hover .contact-steps-number-box:after{
    background: var(--tertiary-bg-color-lightest);
    transition: all .6s ease-in-out;
}

.contact-steps-item-box:hover .contact-steps-content h3{
    color: var(--secondary-bg-color);
    transition: all .6s ease-in-out;
}

.contact-steps-content {
    padding: 0 0 20px 20px;
}

.contact-steps-content h3 {
    font-size: var(--h4-desktop-size);
    margin-bottom: 10px;
}

/* CSS For Policy Content Section */

.policycontentbox {
    max-width: 900px;
    padding: 40px 20px;
    border-radius: 4px;
    box-shadow: var(--hexanery-box-shadow);
    margin: auto;
}

.policycontentbox p {
    font-size: 15px;
    margin-bottom: 10px;
}

.policycontent ol {list-style-type: auto;padding-left: 40px; padding-bottom: 20px;}

.policycontent ul{
    list-style-type: disc;
    padding-left: 40px;
    padding-bottom: 20px;
}

.policycontent ol li, .policycontent ul li {
    line-height: 1.4;
    margin-bottom: 6px;
    font-size: 15px;
}

.policycontentbox h2 {
    font-size: var(--h4-desktop-size);
    font-weight: 600;
    margin: 20px 0 10px;
}

.policyaddress p.companyname {
    font-weight: 700;
}

.policycontent strong {
    color: var(--primary-bg-color-dark);
}

/* CSS For Main Popup Section */

.mainpopupcontainerbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: none;
}

.mainpopupoverlay {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
}

.mainpopupboxcontainer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 900px;
    /* height: 100%;
    max-height: 500px; */
    background: var(--white-font-color);
    box-shadow: var(--primary-box-shadow);
    border-radius: 4px;
    text-align: left;
}

.mainpopupbox {
    padding: 25px;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.mainpopupflexbox {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 80px;
}

.mainpopupclosebutton {
    position: absolute;
    right: -30px;
    top: -20px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.6s ease-in-out;
}

.mainpopupclosebutton i {
    font-size: 24px;
    display: block;
    line-height: 1;
    color: var(--white-font-color);
}

.mainpopupfleximagebox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc(50% - 40px);
}

.mainpopupflexcontentbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc(50% - 40px);
}

.popupcontentbox h2 {
    font-size: var(--h5-desktop-size);
    /* max-width: 75%; */
}

.popupcontentbox p {
    color: var(--secondary-font-color);
    margin: 10px 0 20px;
    font-size: var(--paragraph-small-size);
    padding-right: 20px;
    /* max-width: 85%; */
    line-height: 1.6;
}

form.popupformsection .formflexbox {
    padding-bottom: 15px;
}



/* CSS For Newsletter Section */

section.newsletter-form-section {
    background: var(--primary-bg-color);
    color: var(--white-font-color);
    border-radius: 40px 40px 0 0;
    padding: 30px 0;
}

.newslettersectionflexbox {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

.newslettercontentbox {
    flex: 0 0 auto;
    max-width: 60%;
    width: 100%;
}

.newsletterformbox {
    flex: 0 0 auto;
    max-width: calc(40% - 40px);
    width: 100%;
}

.newslettercontentbox h2 {
    font-size: var(--h4-desktop-size);
    color: var(--white-font-color);
    margin-bottom: 10px;
}

.newsletterform form {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.newsletterformsubmitbox {
    flex: 0 0 auto;
    max-width: 140px;
    width: 100%;
}

.newsletterforminputbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc(100% - 160px);
}

.newsletterforminputbox input#newsletterforminput {
    width: 100%;
    height: 100%;
    display: block;
    padding: 8px;
    border-radius: 4px;
    box-shadow: var(--tertiary-box-shadow);
    font-family: 'Inter';
    font-size: var(--paragraph-small-size);
}

.newsletterforminputbox input#newsletterforminput:focus{
    box-shadow: #00000026 0 0 0 1px;
    transition: all 0.6s ease-in-out;
    outline: none;
}

input.newsletterformsubmit.button:hover {
    background-color: var(--tertiary-bg-color);
}

.contact-address-container {
    padding: 20px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.contact-address-box {
    flex: 0 0 calc((100% - 20px)/2);
    max-width: calc((100% - 20px)/2);
}

.contact-address-box p.contact-address-title {
    font-weight: 600;
    margin-bottom: 15px;
}

.contact-address-box p {
    margin-bottom: 10px;
}

.contact-phone-number a {
    font-weight: 700;
    font-size: var(--paragraph-small-size);
    transition: all .6s ease-in-out;
}

.contact-phone-number a:hover{
    color: var(--secondary-bg-color);
    transition: all .6s ease-in-out;
}

.mainphonenumber {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 5px;
}



/* CSS For Footer */

footer.footer {
    padding: 40px 0;
}

.footerflexbox {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.footerflexitembox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 120px)/4);
}

.footerlogobox a {
    max-width: 200px;
    padding-right: 20px;
    display: block;
    padding-bottom: 15px;
}

.footercontentbox p {
    font-size: var(--paragraph-small-size);
    margin-bottom: 20px;
}

.footersocialbox h3 {
    font-size: var(--h5-desktop-size);
    margin-bottom: 10px;
}

.footermenutitle h3 {
    font-size: var(--h5-desktop-size);
    color: var(--primary-bg-color-dark);
    margin-bottom: 20px;
}

.footermenubox a {
    display: block;
    padding: 4px 0;
    font-size: var(--paragraph-small-size);
    transition: all 0.6s ease-in-out;
}

.footermenubox a:hover{
    color: var(--secondary-bg-color);
    transition: all 0.6s ease-in-out;
}

/* CSS For Footer City Section Starts Here */

section.footer-city-section {
    padding: 50px 0;
    background: var(--primary-bg-color-lighter);
    color: var(--white-font-color);
}

.footerotherlinkcontainerbox {
    padding: 30px 20px;
    background-color: var(--primary-bg-color);
    border-radius: 8px;
    box-shadow: 1px 10px 5px #00000080;
    color: var(--white-font-color);
}

.footerotherlinkcontainerbox:not(:last-child) {
    margin-bottom: 30px;
}

.footerotherlinkcontainerbox h3 {
    font-size: var(--h5-desktop-size);
    color: var(--white-font-color);
    margin-bottom: 20px;
}

.footerotherlinkcontainerbox p {
    font-size: var(--paragraph-small-size);
    line-height: 1.8;
    font-weight: 500;
}

/* CSS For Footer City Section Ends Here */

section.copyright-section {
    background-color: var(--primary-bg-color);
    color: var(--white-font-color);
    padding: 10px 0;
    font-size: var(--paragraph-small-size);
}

.copyrightflexbox {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/* CSS For Error Pages */

section.imagewithtextsection.errorpagessection.section .imagewithtextflexbox {
    align-items: center;
}

section.imagewithtextsection.errorpagessection.section .imagewithtextcontent {
    max-width: 65%;
}


/* CSS For Inner Hero Section */

section.innerherosection.section {
    background: linear-gradient(180deg, var(--primary-bg-color-lightest) 0%, var(--white-font-color) 100%);
}

.innerheroflexbox{
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

.innerherocontentbox {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 40px)/2);
}

.innerheroformbox{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 40px)/2);
    padding-left: 80px;
}

.innerherocontentbox h1{
    font-size: var(--h2-desktop-size);
    padding-bottom: 20px;
}

.innerherocontent p {
    margin-bottom: 10px;
    max-width: 95%;
    padding-right: 20px;
}

.innerherocontent p:last-child {
    margin-bottom: 0;
}

.innerherobutton {
    padding-top: 30px;
}

section.innerherosection.section .button,
section.inner-page-cta-section.section .button{
    max-width: max-content;
}


.innerheroformbox .contactformsection {
    padding: 20px 20px 40px 20px;
    border-radius: 8px;
    box-shadow: var(--hexanery-box-shadow);
    max-width: 90%;
    margin-left: auto;
    background-color: var(--white-font-color);
}

.contactformtitle h3 {
    font-size: var(--h5-desktop-size);
    margin-bottom: 30px;
    text-align: center;
    font-weight: 700;
}

section.four-column-section.section {
    background-color: var(--primary-bg-color-lightest);
    padding: 50px 0;
}

.four-column-section-flex-box {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.four-column-section-flex-box {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.four-column-flex-item-box {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 90px)/4);
}


.four-column-flex-item {
    display: flex;
    gap: 15px;
}

.four-column-icon-box {
    flex: 0 0 auto;
    width: 100%;
    max-width: 60px;
}

.four-column-content-box {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc(100% - 60px - 15px);
}

.four-column-content-box h3 {
    font-size: var(--h6-desktop-size);
    margin-bottom: 10px;
}


section.inner-services-grid-section.section {
    background-color: #f9f9f9;
}

section.inner-services-grid-section.section .sectiontitlebox h2{
    margin-bottom: 10px;
}

section.inner-services-grid-section.section .sectiontitlebox p{
    max-width: 65%;
    margin: auto;
}


.inner-services-grid-box{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.inner-services-grid-item-box{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 60px)/3);
    padding: 20px;
    box-shadow: var(--quartnery-box-shadow);
    background-color: var(--white-font-color);
    transition: all 0.4s ease-in-out;
}

.inner-services-grid-item-box:hover{
    box-shadow: var(--pentanery-box-shadow);
    transition: all 0.4s ease-in-out;
}

.inner-services-grid-icon-box{
    width: 100%;
    max-width: 80px;
    margin: 0 0 20px;
}


.inner-services-grid-content-box h3{
    font-size: var(--h5-desktop-size);
    margin-bottom: 15px;
    transition: all 0.4s ease-in-out;
}

.inner-services-grid-item-box:hover .inner-services-grid-content-box h3{
    color: var(--secondary-bg-color);
    transition: all 0.4s ease-in-out;
}

section.tools-section.section .sectiontitlebox h2{
    margin-bottom: 10px;
}

section.tools-section.section .sectiontitlebox p{
    max-width: 70%;
    margin: auto;
}


.tools-flex-box{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}


.tools-flex-item-box{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 80px)/5);
}

.tools-flex-image-box img{
    filter: grayscale(70%);
    transition: all 0.4s ease-in-out;
}

.tools-flex-image-box img:hover{
    filter: unset;
    transition: all 0.4s ease-in-out;
}


section.inner-page-cta-section.section {
    background-color: var(--primary-bg-color);
    text-align: center;
}

section.inner-page-cta-section.section {
    background-color: var(--primary-bg-color);
    text-align: center;
}

.inner-page-cta-box h2 {
    color: var(--white-font-color);
    font-size: var(--h3-desktop-size);
    margin-bottom: 25px;
}

.inner-page-cta-button-flex-box {
    display: flex;
    justify-content: center;
    gap: 20px;
}

a.button.secondary,
section.inner-page-cta-section .button:hover{
    background: var(--white-font-color);
    color: var(--primary-bg-color);
}

section.inner-page-cta-section .button.secondary:hover{
    background-color: var(--secondary-bg-color);
    color: var(--white-font-color);
}


.strategy-steps-grid-box {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 60px;
    padding-top: 40px;
}

.strategy-steps-grid-item-box {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 60px)/4);
    display: flex;
}

.strategy-grid-item {
    position: relative;
    padding: 50px 20px 40px;
    background: var(--white-font-color);
    text-align: center;
    box-shadow: var(--tertiary-box-shadow);
    border-radius: 4px;
    transition: all 0.4s ease-in-out;
}

.strategy-grid-item:hover{
    box-shadow: var(--quartnery-box-shadow);
    cursor: pointer;
    transition: all 0.4s ease-in-out;
}

section.strategy-steps-section.section {
    background: #f9f9f9;
}

.strategy-number-box {
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 50px;
    background: var(--primary-bg-color);
    color: var(--white-font-color);
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    border-radius: 50%;
    transition: all 0.4s ease-in-out;
}

.strategy-grid-item:hover .strategy-number-box{
    background: var(--secondary-bg-color);
    top: -28px;
    transition: all 0.4s ease-in-out;
}

.strategy-content-box h3 {
    font-size: var(--h5-desktop-size);
    margin-bottom: 10px;
}

.strategy-grid-item:hover .strategy-content-box h3{
    color: var(--tertiary-bg-color);
    transition: all 0.4s ease-in-out;
}


section.platform-section.section {
    background-color: var(--primary-bg-color);
    color: var(--white-font-color);
}

section.platform-section.section h2, section.platform-section.section h3{
    color: var(--white-font-color);
}


section.platform-section.section .sectiontitlebox p{
    max-width: 65%;
    margin: 10px auto 0;
}

.platform-grid-box {
    display: flex;
    flex-wrap: wrap;
    padding-top: 20px;
}

.platform-grid-item-box {
    flex: 0 0 auto;
    width: 100%;
    max-width: calc(100% / 3);
    display: flex;
    border-bottom: 1px solid var(--white-font-color);
}

.platform-grid-item-box:not(:nth-child(3n)){
    border-right: 1px solid var(--white-font-color);
}

.platform-grid-item-box:nth-child(7),
.platform-grid-item-box:nth-child(8),
.platform-grid-item-box:nth-child(9){
    border-bottom: none;
}

.platform-grid-item {
    padding: 20px 20px 50px;
}

.platformgridicon {
    max-width: 200px;
    padding-bottom: 20px;
}

.platformgridcontentbox h3 {
    font-size: var(--h5-desktop-size);
    margin-bottom: 10px;
    color: var(--secondary-bg-color) !important;
}

.platformgridcontent{
    padding-top: 10px;
}

.platformgridcontent p {
    position: relative;
    padding-left: 40px;
    margin-bottom: 15px;
}

.platformgridcontent p::before{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url('https://vedeshra.com/assets/img/icons/arrow-icon.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 4px;
    left: 0px;
}

/* CSS For FAQ Section */

section.faq-section.section .sectiontitlebox p {
    max-width: 45%;
    margin: 10px auto 0;
}

.faq-accordion-container {
    padding: 20px 0;
    max-width: 50%;
    margin: 0 auto;
}

.faq-accordion-question {
    padding: 15px 40px 15px 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
    background-color: var(--primary-bg-color);
    box-shadow: var(--secondary-box-shadow);
    border-radius: 0px;
    cursor: pointer;
}

.faq-accordion-item:first-child .faq-accordion-question{
    border-radius: 4px 4px 0 0;
}

.faq-accordion-item:last-child .faq-accordion-question{
    border-radius: 0 0 4px 4px;
}

.faq-accordion-question.active{
    background-color: var(--secondary-bg-color);
    transition: all 0.4s ease-in-out;
}

.faq-accordion-question h3 {
    font-size: var(--paragraph-regular-size);
    color: var(--white-font-color);
}

.faq-accordion-answer {
    padding: 20px;
    background: var(--primary-bg-color-lightest);
    box-shadow: var(--secondary-box-shadow);
    border-radius: 4px;
    margin: 20px 0;
    display: none;
}


.faq-accordion-toggle {
    position: absolute;
    right: 20px;
    top: 14px;
    font-size: var(--paragraph-regular-size);
    color: var(--white-font-color);
}

.faq-accordion-toggle span.plusminus {
    display: block;
}


/* Technology Framework Grid Section */

section.techhnology-grid-section.section{
    background-image: url('/assets/img/background/light-grey-background.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

section.techhnology-grid-section.section .sectiontitlebox p{
    margin: 10px auto 0;
}


.technology-grid-box{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.technology-grid-item-box{
    flex: 0 0 auto;
    width: 100%;
    max-width: calc((100% - 60px)/4);
    box-shadow: var(--tertiary-box-shadow);
    background-color: var(--white-font-color);
    border-radius: 8px;
}

.technology-grid-heading{
    background-color: var(--primary-bg-color);
    padding: 10px 15px;
    border-radius: 8px 8px 0 0;
}

.technology-grid-heading h3{
    font-size: var(--h5-desktop-size);
    color: var(--white-font-color);
}

.technology-grid-content-main-box{
    padding: 10px 15px 20px;
}

.technology-grid-content-item-box{
    padding: 8px 5px;
}

.technology-grid-content-item-box:not(:last-child){
    border-bottom: 1px solid #dbdbdb;
}

.technology-grid-content-flex-box{
    display: flex;
    gap: 20px;
}

.technology-grid-content-icon-box{
    flex: 0 0 20px;
    max-width: 20px;
}

.technology-grid-content-paragraph-box{
    flex: 0 0 calc(100% - 40px);
    max-width: calc(100% - 40px);
}


button.get-in-touch-popup-box {
    max-width: max-content;
}

button.get-in-touch-popup-box:hover {
    background-color: var(--tertiary-bg-color);
}

.faq-accordion-answer.active ul {
    list-style-type: disc;
    padding-left: 30px;
    margin-top: 15px;
    margin-bottom: 20px;
}

.faq-accordion-answer.active ul li:not(:last-child) {
    margin-bottom: 10px;
}

body.services\/photography section.faq-section.section .sectiontitlebox p,
body.services-detail-page section.faq-section.section .sectiontitlebox p{
    max-width: 65%;
}

/* body.services-detail-page .imagewithtextcontent p{
    font-size: 20px;
} */