@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');

:root {
    --primary-color: #92D5B2;
    --secondary-color: #00142B;
    --dark-color: #00142B;
    --white: #fff;
    --mint-light: #D8F2E4;
    --mint-dark: #31473C;

    --secondary-fonts: "IBM Plex Serif", serif;
    --primary-fonts: "DM Sans", sans-serif;

    --default-transition: all 0s ease;

    --container: 1376px;
    --section-gaps: 80px;
    --section-md-gaps: 70px;

    --h1-fs: 46px;
    --h2-fs: 40px;
    --h3-fs: 32px;
    --h4-fs: 28px;
    --h5-fs: 24px;
    --h6-fs: 20px;

    --mint-green: #92D5B2;
    --dark-blue: #00142B;
	
	--deante-dark-mint: #273E48;
}

*{
    box-sizing: border-box;
}
body {
    background-color: var(--secondary-color);
    font-family: var(--primary-fonts);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	position: relative;
}
video,
iframe,
img {
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--secondary-fonts);
    overflow-wrap: inherit;
    line-height: 1.4;
    margin-top: 0;
    font-weight: 600;
}
p{
    margin-top: 0;
}
.f-s-46{
    font-size: var(--h1-fs) !important;
    line-height: 1.4;
}
.f-s-32{
    font-size: 32px !important;
    line-height: 1.4;
}


a {
    text-decoration: none;
    display: inline-block;
    color:var(--primary-color);
}

a:hover {
    color: var(--primary-color);
    text-decoration: none;
}

a, input[type="submit"], button {
    cursor: pointer;
    -webkit-transition: var(--default-transition);
    -o-transition: var(--default-transition);
    transition: var(--default-transition);
}

.social-links ul,
.sub-menu,
ul.contact-list,
.social-link-list,
.single-test-sty ul,
.site-footer ul,
.copyright-sec ul,
.primary-menu,
.list-none {
    list-style: none;
    margin: 0;
    padding: 0;
}

.img-cover {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* Color ,gaps and other css */

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

.secondary-bg {
    background-color: var(--secondary-color);
}

/* End Color ,gaps and other css */

.panel-block{
    background-color: var(--bg-color,var(--secondary-color));
    color: var(--text-color,#ffffff);
}

/* Title sty css */

.main-title.column {
    flex-direction: column;
    align-items: flex-start;
}
.title{
    color: var(--title-color,var(--primary-color));
}
.main-title .title {
    font-size: var(--h4-fs);
    font-weight: 600;
    position: relative;
    margin-bottom: 0px;
    letter-spacing: -0.02px;
}

.main-title .title {
    font-size: var(--h2-fs);
    
}

.main-title .content{
    font-size: var(--h5-fs);
    max-width: 772px;

}
.main-title .content p{
    margin: 0;
}

.main-title .title span{
    color: var(--white);
}

.main-title {
    margin-bottom: 60px;
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}
/* 
.content{
    letter-spacing: 1px;
} */
.wp-block-separator {
    border: none;
    border-top: 1px solid #31473C;
    margin: 1px 0;
}
/* End Title sty css */

/* base css */
.container{
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 16px;
}
.grid{
    display: grid;
}

.row {
    display: grid;
    grid-template-columns: repeat(var(--column,3), 1fr);
}
.g-0{
    gap: 0;
}
.g-32{
    gap: 32px;
}

.top-border-gap{
    border-top: 1px solid #31473C;
}

.section-gaps{
    padding-top: var(--section-gaps);
    padding-bottom: var(--section-gaps);
}
.section-gaps{
    padding-block: calc(var(--section-gaps) + 1px);
    margin-block: -1px;
}
.pb-0{
    padding-bottom: 1px !important;
}
.pt-0{
    padding-top: 1px !important;
}
/* base css */

/* btn-css */
.btn-box{
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    border: 1px solid var(--secondary-color);
    border-radius: 4px;
    transition: var(--default-transition);
    text-align: center;
    cursor: pointer;
}
.btn-box.btn-primary{
    background-color: var(--primary-color);
    color: var(--secondary-color);
    border-color: var(--primary-color);
}
.btn-box.btn-primary:hover{
    background-color: var(--secondary-color);
    color: var(--primary-color);
    border-color: var(--secondary-color);
}

.btn-box.btn-primary:hover svg path{
    fill: var(--primary-color);
}
.btn-box.btn-transparent{
    background-color: transparent;
    color: var(--white);
    border-color: var(--mint-dark);
	outline: 2px solid transparent;
	outline-offset: -2px;
}
.btn-box.btn-transparent:hover{
	outline: 2px solid var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-color);
}
.btn-box.btn-transparent.white{
    border-color: #fff;
    color: #fff;
}

.list-slash li{
    position: relative;
}
/* .list-slash li::before{
    content: '/';
    color: inherit;
    padding-right: 8px;
} */
.top-footer .content-wrap {
    display: flex;
    flex-wrap: wrap;
    --gap: 64px;
    --left-content: calc(50% - var(--gap) / 2);
    --right-content: calc(50% - var(--gap) / 2);
    gap: 64px var(--gap);
}
.top-footer .content-wrap > .left-content {
    flex: 0 0 var(--left-content);
    max-width: var(--left-content);
}
.top-footer .content-wrap > .right-content {
    flex: 0 0 var(--right-content);
    max-width: var(--right-content);
}
/* btn-css */

/* padding-css */
.pt-100{
    padding-top: 100px;
}
.pt-120{
    padding-top: 120px;
}
.section-gaps:has(+.site-footer) {
    padding-bottom: 120px;
}
.partners-lists-section:has(+.site-footer){
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.section-gaps:has(+ .wp-block-separator) {
    padding-bottom: 120px;
}

.wp-block-separator + .section-gaps{
    padding-top: 120px;
}
/* padding-css */


/* site-header */
.site-header {
    padding: 15px 0;
    /*background-color: var(--secondary-color);*/
}
.home .header-absolute.site-header{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9;
}
.home  .site-header.hide-logo .site-logo{
    display: none;
}
.home .site-header nav{
    justify-content: flex-end;
}
.site-header nav{
    justify-content: space-between;
}
.site-header nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.site-header .site-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
}
.site-header .site-logo a{
	display: flex;
}
.nav-wrap .nav-container{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    flex-wrap: wrap;
    background-color: var(--white);
    border: 2px solid var(--white);
    border-radius: 4px;
    padding-left: 0px;
}
.nav-wrap .nav-container .btn-box{
    border: 0;
}
.bar-menu{
    display: none;
}
.primary-menu{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.primary-menu > li > a{
    padding: 16px 16px;
    border-radius: 4px;
}

.primary-menu a{
    font-size: 16px;
    font-weight: 600;
    color: var(--secondary-color);
    line-height: 1.6;
}
.sub-menu{
    display: none;
}
.card-get-in-touch{
    display: none;
}
.primary-menu li.menu-dropdown {
    position: relative;
}
 .bar-menu .close-icon{
    display: none;
}


/* site-header */

/* Client review section */

/* End Client review section */


/* Inner Banner section */

.inner-banner {
    padding: 150px 0 100px;
}

.inner-banner .grid:has(.img-holder) {
    grid-template-columns: 380px auto;
    gap: 60px;
}
.inner-banner .img-holder img{
    width: 100%;
}
.inner-banner .grid {
    align-items: center;
}
.inner-banner .grid .content:first-child {
    max-width: 780px;
}

.inner-banner .title {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 500;
    font-family: var(--primary-fonts);
    letter-spacing: 0.6px;
    color: var(--primary-color);
}
.inner-banner .content p{
    font-size: var(--h2-fs);
    font-weight: 600;
    font-family: var(--secondary-fonts);
    margin-top: 0;
}

/* End Inner Banner section */


/* About Company Section */

.border-icon-list .grid {
    grid-template-columns: 200px auto;
    gap: 65px;
    align-items: center;
}


.border-icon-list .img-holder .wrap {
    width: 100%;
    background: var(--primary-color);
    height: 200px;
    border-radius: 10px;
}

.border-icon-list .grid .text {
    font-size: 24px;
    font-weight: 400;
    max-width: 775px;
}

.ready-explore {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 35px;
    justify-content: flex-start;
}

.ready-explore a.btn-box{
    min-width: 200px;
}

.ready-explore span {
    font-size: 24px;
    font-weight: 700;
}

.item.border-icon-list {
    padding: 80px 0;
    border-bottom: 1px solid var(--mint-dark);
}

.item.border-icon-list:first-child {
    padding-top: 0;
}

/* End About Company Section */


/* Our Core principles */

.icon-box-lists .item {
    padding: 32px;
    border: 1px solid var(--mint-dark);
    border-radius: 10px;
    margin-left: -1px;
}

.icon-box-lists .item .icon-holder {
    margin-bottom: 14px;
}

.icon-box-lists .item .title {
    color: var(--primary-color);
    font-size: var(--h5-fs);
    font-weight: 600;
    margin-bottom: 32px;
}

.icon-box-lists .item p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
}

/* End Our Core principles */


/* Image with Text Section */

.image-with-text-section .grid {
    grid-template-columns: 40% auto;
    gap: 60px;
    align-items: center;
}
.image-with-text-section .img-holder img{
    width: 100%;
    height: 410px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
} 

.image-with-text-section .main-title {
    margin-bottom: 20px;
}
.list-sty-icon ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.list-sty-icon ul li + li {
    margin-top: 15px;
}

.list-sty-icon ul li {
    padding-left: 25px;
    position: relative;
}
.list-sty-icon ul li:before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    --size: 20px;
    width:var(--size);
    height:var(--size);
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='10' viewBox='0 0 15 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.0774 0.244078C13.4028 -0.0813592 13.9305 -0.0813592 14.2559 0.244078C14.5563 0.544481 14.5794 1.01717 14.3252 1.34408L14.2559 1.42259L5.92257 9.75592C5.62217 10.0563 5.14947 10.0794 4.82256 9.82525L4.74406 9.75592L0.577391 5.58926C0.251954 5.26382 0.251954 4.73618 0.577391 4.41074C0.877794 4.11034 1.35049 4.08723 1.6774 4.34142L1.7559 4.41074L5.33331 7.9875L13.0774 0.244078Z' fill='%2392D5B2'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: calc(var(--size) - 6px);
    background-position: 0 8px;
}

/* Image with Text Section */

/* Service Single section */

.service-single-section {
    min-height: 510px;
}
.service-single-section .main-title {
    max-width: 735px;
}
.service-single-section .main-title .content{
    font-size: var(--h6-fs);
}

/* End Service Single section */

/* Service Lists Section */

.service-lists-grid .item{
    min-height: 450px;
}
.service-lists-grid .item .content {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.service-lists-grid .item .title {
    font-size: var(--h5-fs);
}
.service-lists-grid .item .card-expert a,
.service-lists-grid .item .card-expert{
    height: 100%;
}
.service-lists-grid .item .card-expert a{
    display: flex;
    flex-direction: column;
}
.service-lists-grid .card-expert .text{
    display: flex;
    flex-direction: column;
}

.service-lists-grid .card-expert p {
    margin-top: auto;
}

.service-lists-grid .card-expert .icon-holder :is(svg, img) {
    width: 74px;
    height: auto;
}
.service-lists-grid .item .content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Service Lists Section */


/* Single List icon section */

.single-icon-lists .card-expert .title{
    font-size: var(--h5-fs);
}
.single-icon-lists .card-expert p {
    font-size: 18px;
    margin-top: 30px;
}

/* End Single List icon section */



/* Error Section */


.error-section.section-gaps {
    padding: 150px 0 150px;
}

.error-section span {
    color: var(--primary-color);
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
    font-weight: 600;
}

.error-section .title {
    font-size: var(--h2-fs);
    font-weight: 600;
	color: #ffffff;
}

/* End Error Section */


/* Work Inner Banner Section */
.work-inner-banner,
.work-inner-banner + *{
     --height:768px;
}
.work-inner-banner{
    padding: 150px 0 0;
}
.work-inner-banner .company{
   font-size: 16px;
    text-transform: uppercase;
    font-weight: 500;
    font-family: var(--primary-fonts);
    letter-spacing: 0.6px;
    color: var(--primary-color);
}
.work-inner-banner .work-banner-img{
    margin-top: 100px;   
}
.work-inner-banner .work-banner-img img{
    
    height: var(--height);
    width: 100%;
    border-radius: 10px;
    object-fit: cover;
    display: flex;
    margin-bottom: calc(-1 * var(--height)/2);
}
.work-inner-banner .title {
    font-size: var(--h2-fs);
}

.work-inner-banner .wrap {
    max-width: 800px;
}

.project-lists .item {
    display: flex;
    gap: 8px 14px;
}
.project-lists .item + .item {
    margin-top: 8px;
}
.project-lists span {
    color: var(--primary-color);
    font-weight: bold;
    white-space: nowrap;
}

.project-lists   ul.list-banner {
       display: flex;
    flex-wrap: wrap;
    gap: 2px 12px;
}

.project-lists ul.list-banner span.text {
    color: #fff;
    font-weight: 400;
    font-size: 14px;
}
.work-inner-banner + *{
   padding-top: calc(var(--height)/2 + 100px);
}

/* Work Inner Banner Section */


/* Single Work Content Section */

/* .single-work-content-section {
    background: #fff;
    padding-bottom: var(--section-gaps);
    color: var(--dark-color);
} */


/* End Single Work Content Section */

/* Get In touch Popup */

.get-in-touch-popup {
    position: fixed;
    right: 0;
	transform: translatex(calc(100% + 40px));
    top: 15px;
    width: 400px;
    padding: 50px 32px 32px;
    background: #fff;
    border-radius: 10px 0px 0px 10px;
    color: var(--dark-color);
    z-index: 19;
    transition: all 0.3s linear;
}
body.admin-bar .get-in-touch-popup {
    z-index: 999999;
    top: 47px;
}
.overlay-contact{
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: var(--dark-color);
    opacity: 0.4;
    z-index: 8;
    display: none;
}
body:has(.overlay-contact.overlay-active) {
    overflow: hidden;
}

.overlay-contact.overlay-active{
    display: block;
}
.get-in-touch-popup.show{
    transform: translatex(0%);
}

.get-in-touch-popup .title {
    font-size: var(--h3-fs);
    margin-bottom:16px;
	color: var(--dark-blue);
}

.get-in-touch-popup p {
    font-size: 20px;
	line-height: 1.6;
    margin: 0px 0 32px;
}

.get-in-touch-popup .btn-wrap {
    text-align: center;
}
.get-in-touch-popup .btn-wrap a{
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3;
}
.get-in-touch-popup .close-btn {
    position: absolute;
    right: 8px;
    top: 8px;
    background: var(--mint-light);
    --size: var();
    width: var(--size);
    height: var(
    --size);
    --size: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    transition: all 0s ease-in-out;
    cursor: pointer;
}

.get-in-touch-popup .close-btn:hover{
    background: var(--primary-color);
}

/* End Get In touch Popup */

/*  Site Footer CSS  */

.site-footer .top-footer {
    background: var(--primary-color);
    padding: 100px 0;
    color: var(--secondary-color);
}

.site-footer .top-footer a {
    color: var(--secondary-color); 
}

.footer-info a.btn-box.btn-transparent:hover {
    outline-color: var(--secondary-color);
    border-color: var(--secondary-color);
    color: var(--secondary-color);
	outline-offset: -1px;
}

.footer-info .logo img {
    max-width: 160px;
}

.footer-info  .title {
    margin: 20px  0;
    font-size: var(--h2-fs);
    max-width: 600px;
    font-weight: 600;
}

.footer-info ul.list-none {
    margin-top: 30px;
}

.footer-info ul.list-none li {
    display: flex;
    gap: 10px;
}

.footer-info ul.list-none li a{
	display: flex;
    gap: 10px;
}
.top-footer .list-slash li::before{
    display: none;
}

.top-footer .right-content {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
}

.footer-menu-lists {
    display: flex;
    gap: 20px;
    justify-content: flex-end;
}

.footer-menu-lists li a {
    font-weight: 600;
}
.footer-item .list-slash li a{
    border-bottom: 1px solid transparent;
    line-height: 1.3;
}
.footer-item .list-slash a:hover {
    border-bottom: 1px solid;
}

.top-footer .list-slash {
    display: flex;
    flex-wrap: wrap;
    white-space: nowrap;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 30px;
    font-size: 16px;
    letter-spacing: 0.2px;
    max-width: 330px;
}

.top-footer ul.social-links {
    display: flex;
    gap: 12px;
    margin-top: 40px;
}

.top-footer .list-slash li:first-child a:before {
    display: none;
}
.list-slash li a:before {
    content: '/';
    color: inherit;
    padding-right: 8px;
    display: inline-flex;
}

.top-footer ul.social-links button.icon {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    border: 1px solid var(--secondary-color);
    border-radius: 5px;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color);
}

.top-footer ul.social-links button.icon:hover {
     box-shadow: 0 0 0 1px var(--secondary-color);
}

.social-links a svg {
    width: 32px;
    height: auto;
}
.social-links a:hover svg{
    fill: var(--mint-dark);
}

.footer-menu-lists a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.bottom-footer {
    padding: 40px 0;
    background: var(--primary-color);
    color: var(--secondary-color);
}
.copyright-sty {
    display: flex;
    font-size: 14px;
    font-weight: 600;
    justify-content: space-between;
}
.copyright-sty .copyright{
	font-weight: 400;
}
/*  End Site Footer CSS  */