/*
Theme Name: Projectise Child
Template: hello-elementor
*/

/* Resets
--------------------------------------------- */

body {
    font-family: 'Instrument Sans', sans-serif;
    line-height: 150%;
}

.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4,
.elementor h5 {
    line-height: 125%;

}

body {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1rem;
}

button:focus,
input:focus {
    outline: none !important;
}

.acf-map {
    width: 100%;
    height: 400px;
    border: #ccc solid 1px;
    margin: 20px 0;
}

.elementor-element p:last-child {
    margin-bottom: 0px;
}

body table tbody>tr:nth-child(odd)>td,
body table tbody>tr:nth-child(odd)>th,
body table tbody tr:hover>td,
body table tbody tr:hover>th {
    background-color: initial;
}

body table td,
body table th {
    border: 0;
    padding: 0;
    text-align: left;
}

.elementor-field-group .elementor-field-textual:focus {
    box-shadow: none;
}

/* Fixes potential theme css conflict. */
.acf-map img {
    max-width: inherit !important;
}

a {
    cursor: pointer;
    color: inherit;
}

select {
    appearance: none;
    -webkit-appearance: none;
}

::placeholder,
::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder,
body .elementor-field-group .elementor-field-textual::placeholder {
    opacity: 1;
}

body .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 0;
}

.reg-mark{
	font-size: .6em;
    vertical-align: inherit;
    line-height: 0;
}


/* Global Sizing Variables
--------------------------------------------- */
:root {
    /* The BASE size */
    --base-size: 4px;

    /* The size steps */
    --size-0: calc(var(--base-size) * 0);
    /* 0px */
    --size-1: calc(var(--base-size) * 1);
    /* 4px */
    --size-2: calc(var(--base-size) * 2);
    /* 8px */
    --size-3: calc(var(--base-size) * 3);
    /* 12px */
    --size-4: calc(var(--base-size) * 4);
    /* 16px */
    --size-5: calc(var(--base-size) * 5);
    /* 20px */
    --size-6: calc(var(--base-size) * 6);
    /* 24px */
    --size-7: calc(var(--base-size) * 7);
    /* 28px */
    --size-8: calc(var(--base-size) * 8);
    /* 32px */
    --size-9: calc(var(--base-size) * 9);
    /* 36px */
    --size-10: calc(var(--base-size) * 10);
    /* 40px */
    --size-11: calc(var(--base-size) * 11);
    /* 44px */
    --size-12: calc(var(--base-size) * 12);
    /* 48px */
    --size-14: calc(var(--base-size) * 14);
    /* 56px */
    --size-16: calc(var(--base-size) * 16);
    /* 64px */
    --size-20: calc(var(--base-size) * 20);
    /* 80px */
    --size-24: calc(var(--base-size) * 24);
    /* 96px */
    --size-28: calc(var(--base-size) * 28);
    /* 112px */
    --size-32: calc(var(--base-size) * 32);
    /* 128px */
    --size-36: calc(var(--base-size) * 36);
    /* 144px */
    --size-40: calc(var(--base-size) * 40);
    /* 160px */
    --size-44: calc(var(--base-size) * 44);
    /* 176px */
    --size-48: calc(var(--base-size) * 48);
    /* 192px */
    --size-52: calc(var(--base-size) * 52);
    /* 208px */
    --size-56: calc(var(--base-size) * 56);
    /* 224px */
    --size-60: calc(var(--base-size) * 60);
    /* 240px */
    --size-64: calc(var(--base-size) * 64);
    /* 256px */
    --size-72: calc(var(--base-size) * 72);
    /* 288px */
    --size-80: calc(var(--base-size) * 80);
    /* 320px */
    --size-96: calc(var(--base-size) * 96);
    /* 384px */
}

/* Global Color Variables
--------------------------------------------- */

:root {
	--purple-500: #72BF44;
	--purple-700: #72BF44;
	--navy-500: #231F20;
}


/* Global Spacing Congifuration
--------------------------------------------- */

/* DESKTOP */
:root {

    /* Section Padding */
    --section-padding-small: var(--size-20);
    --section-padding: var(--size-24);
    --section-padding-large: var(--size-48);
    --section-padding-sides: var(--size-0);
	--section-padding-footer: var(--size-24);
    --inner-column-gap: var(--size-18);
	--extra-element-gap: var(--size-10);

}

/* LAPTOP */
@media all and (max-width: 1440px) {
    :root {

        /* Section Padding */
        --section-padding-small: var(--size-16);
        --section-padding: var(--size-32);
        --section-padding-large: var(--size-48);
        --section-padding-sides: var(--size-24);

    }
}

/* TABLET LANDSCAPE */
@media all and (max-width: 1366px) {
    :root {

        /* Section Padding */
        --section-padding-small: var(--size-16);
        --section-padding: var(--size-24);
        --section-padding-large: var(--size-32);
        --section-padding-sides: var(--size-16);
		--section-padding-footer: var(--size-16);

    }
}

/* TABLET PORTRAIT */
@media all and (max-width: 900px) {
    :root {

        /* Section Padding */
        --section-padding-small: var(--size-16);
        --section-padding: var(--size-24);
        --section-padding-large: var(--size-32);
        --section-padding-sides: var(--size-16);

    }
}

/* MOBILE */
@media all and (max-width: 767px) {
    :root {

        /* Section Padding */
        --section-padding-small: var(--size-16);
        --section-padding: var(--size-16);
        --section-padding-large: var(--size-16);
        --section-padding-sides: var(--size-6);
		--extra-element-gap: var(--size-0);

    }
}


/* Section Padding
--------------------------------------------- */

.section-padding-small {
    padding: var(--section-padding-small) var(--section-padding-sides);
}

.section-padding {
    padding: var(--section-padding) var(--section-padding-sides);
}
.section-padding-large {
    padding: var(--section-padding-large) var(--section-padding-sides);
}
.section-padding-footer {
    padding: var(--section-padding-footer) var(--section-padding-sides);
}

.section-padding.top {
    padding-bottom: 0;
}

.section-padding.bottom {
    padding-top: 0;
}
.extra-element-gap {
	margin-top: var(--extra-element-gap);
}



/* Drop Shadows
--------------------------------------------- */
.drop-shadow-xs {
    box-shadow: 0px 2px 4px 0px rgba(0, 65, 87, 0.16);
}

.drop-shadow-s {
    box-shadow: 0px 2px 4px 0px rgba(0, 43, 62, 0.04), 0px 16px 32px -4px rgba(0, 43, 62, 0.10);
}

.drop-shadow-m {
    box-shadow: 0px 2px 4px 0px rgba(0, 43, 62, 0.04), 0px 24px 48px -8px rgba(0, 43, 62, 0.12);
}

.drop-shadow-l {
    box-shadow: 0px 2px 4px 0px rgba(0, 43, 62, 0.04), 0px 40px 80px -16px rgba(0, 43, 62, 0.16);
}

.drop-shadow-xl {
    box-shadow: 0px 2px 4px 0px rgba(0, 43, 62, 0.04), 0px 56px 112px -20px rgba(0, 43, 62, 0.18);
}


/* General Elements
--------------------------------------------- */

.eyebrow .elementor-heading-title {
	background: #72BF44;
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}




/* Card Grids
--------------------------------------------- */

.cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 64px;
}
.cards-grid .card {
	border-radius: 10px;
	overflow: hidden;
}
.cards-grid.solution-cards {
	grid-template-columns: repeat(2, 1fr);
}
.cards-grid.solution-cards .card {
	max-width:680px;
}

.cards-grid .card h3 {
	margin: 0;
}


@media all and (max-width:1366px){
	.cards-grid {
		grid-gap: 48px;
	}
}

@media all and (max-width:900px){
	.cards-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 48px;
	}
}

@media all and (max-width:767px){
	.cards-grid {
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 32px;
	}
}


/* Solution Cards Specific */
.cards-grid.solution-cards .card {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.cards-grid.solution-cards .card i {
	display: block;
	margin-bottom: 24px;
	color: var(--purple-500);
	font-size: 32px;
	line-height: 1;
}
@media all and (max-width:900px){
	.cards-grid.solution-cards {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* Sector Cards Specific */

.cards-grid.sectors-cards .card-thumb {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 10px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.cards-grid.sectors-cards .card {
    display: flex;
    flex-direction: column;
    gap: 28px;
	border-radius: 0px;
}
.accordion-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
	cursor: pointer;
}
.accordion-button {
    width: 32px;
    height: 32px;
    line-height: 29px;
    text-align: center;
    background: var(--purple-500);
    color: #fff;
    border-radius: 100px;
    font-size: 26px;
    cursor: pointer;
    transition: 0.2s ease;
    transform: rotate(0deg);
    display: block;
}
.accordion-button:hover {
	transition: 0.2s ease;
	background: var(--purple-700);
}
.accordion-button.open {
	transition: 0.2s ease;
	transform: rotate(45deg);
}
.accordion-content {
    font-size: var(--e-global-typography-1f348a8-font-size);
    font-weight: var(--e-global-typography-1f348a8-font-weight);
    line-height: var(--e-global-typography-1f348a8-line-height);
    border-bottom: 1px solid var(--navy-500);
    padding-bottom: 0px;
	transition: 0.3s all;
	max-height: 0;
	overflow: hidden;
}
.accordion-content.open {
	transition: 0.3s all;
	max-height: 100%;
	padding-bottom: 24px;
}
ul.sector-points {
    list-style-type: none;
    padding: 0;
}
ul.sector-points li i {
    margin-right: 12px;
	font-size: 12px;
	position: relative;
	top: -3px;
}
@media all and (max-width:900px){
	.cards-grid.sectors-cards {
		grid-template-columns: repeat(1, 1fr);
	}
	.cards-grid.sectors-cards .card-thumb {
		height: 320px;
		padding-bottom: 0;
	}
}
@media all and (max-width:767px){
	.cards-grid.sectors-cards .card-thumb {
		height: 250px;
	}
}

/* Performance Figure Cards Specific */

.cards-grid.performance-figures {
    justify-items: center;
    color: #fff;
}
.cards-grid.performance-figures .card {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.cards-grid.performance-figures h3 {
	color: inherit;
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 30px;
}
.cards-grid.performance-figures .figure {
    font-size: 6.88rem;
    font-weight: 300;
    line-height: normal !important;
    letter-spacing: -3.3px;
}

@media all and (max-width:1200px){
	.cards-grid.performance-figures .figure {
		font-size: 4.88rem;
	}
}
@media all and (max-width:900px){
	.cards-grid.performance-figures .figure {
		font-size: 3.5rem;
	}
	.cards-grid.performance-figures h3 {
		font-size: 1.5rem;
	}
	.cards-grid.performance-figures {
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 24px;
	}
}
@media all and (max-width:767px){
	.cards-grid.performance-figures {
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 48px;
	}
}

/* Project Cards Specific */

.swiper-container.project-cards {
    margin: 0 96px;
    overflow: hidden;
}
.project-cards .card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    min-height: 474px;
    position: relative;
    display: flex;
    flex-direction: column;
}
.project-cards .card-front {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px;
    z-index: 1;
    flex: 1;
}
.project-cards .card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    top: 0;
    left: 0;
	padding: 24px;
	background: #fff;
	transition: 0.2s ease;
	z-index: 0;
}
.project-cards .card.open .card-back {
	opacity: 1;
	transition: 0.2s ease;
	z-index: 2;
}
.card-back p.text-body-large {
    font-size: 18px;
    font-weight: 600;
}
.project-cards .card-logo {
    flex: 1;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
}
.project-cards .card-button {
    display: flex;
    align-content: center;
    justify-content: flex-end;
    z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 24px;
}
.project-cards .accordion-button {
	background: #B1B1C4;
}
.project-cards .accordion-button:hover {
	background: var(--purple-500);
}
.project-cards .card.open .accordion-button {
	background: var(--purple-500);
	transform: rotate(45deg);
}
.project-cards .card.open .card-button {
	z-index: 3;
}
.project-cards .card-logo img {
    max-height: 170px;
    max-width: 250px;
    object-fit: contain;
}
.swiper-navigation {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
}
.project-cards .card ul {
    padding-left: 1em;
}
.project-cards .card ul li {
    position: relative;
    margin-left: 0.5em;
    font-size: 14px;
    line-height: 1.5em;
    margin-top: 6px;
}
.project-cards .card ul li i {
    position: absolute;
    top: 0.5em;
    left: 0;
    margin-left: -1.66em;
}

@media all and (max-width:900px){
	.swiper-container.project-cards {
		margin: 0 50px;
	}
}
@media all and (max-width:767px){
	.swiper-container.project-cards {
		margin: 0px;
	}
	.swiper-navigation {
		top: unset;
		position: relative;
		transform: none;
		margin-top: 24px;
		justify-content: center;
		gap: 12px;
	}
}



/* Testimonial Carousel
--------------------------------------------- */

.elementor-swiper-button {
    background: var(--purple-500);
    border-radius: 5px;
}
.elementor-swiper-button:hover {
    background: var(--purple-700);
}
.eicon-chevron-right:before {
    content: "\f061";
    font-family: 'Font Awesome 6 Pro';
}
.eicon-chevron-left:before {
    content: "\f060";
    font-family: 'Font Awesome 6 Pro';
}
.elementor-swiper-button i {
    font-size: 14px;
    padding: 12px;
    font-weight: 600;
	color: #fff !important;
}
.elementor-testimonial__text {
    padding: 0 54px;
}
@media all and (max-width:767px){
	.elementor-testimonial__text {
		padding: 0 32px;
	}
}

/* Partners Carousel
--------------------------------------------- */
.partners-carousel {
	position: relative;
	overflow: hidden;
}
.partners-carousel:before, 
.partners-carousel:after {
	content: '';
	position: absolute;
	top: 0;
	height: 100%;
	width: 300px;
	pointer-events: none;
	z-index: 2;
}
.partners-carousel:before {
	left: 0;
	background: linear-gradient(90deg, #FFF 8.88%, rgba(255, 255, 255, 0.00) 83.61%);
}
.partners-carousel:after {
	right: 0;
	background: linear-gradient(-90deg, #FFF 8.88%, rgba(255, 255, 255, 0.00) 83.61%);
}
.partners-carousel .swiper-slide {
	display: flex;
    justify-content: center;
}
.partners-carousel .image-wrapper {
    width: 240px;
    height: 93px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.partners-carousel .swiper-slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    margin: auto;
    display: block;
}
@media all and (max-width:767px){
	.partners-carousel:before {
		left: 0;
		background: linear-gradient(90deg, #FFF 0%, rgba(255, 255, 255, 0.00) 25%);
	}
	.partners-carousel:after {
		right: 0;
		background: linear-gradient(-90deg, #FFF 0%, rgba(255, 255, 255, 0.00) 25%);
	}
}