/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Feb 07 2024 | 09:40:27 */
:root {
  --primary: #EE2024;
  --secondary: #1c1c1c;
}

html {
  scroll-behavior: smooth;
}

a.navbar-brand {
    max-width: 150px;
}

h1, h2, h3, h4, h5, h6 {
    letter-spacing: -.5px !important;
}

header#header {
    z-index: 999 !important;
    background: #fff;
}


.section_heading h2 span {
    font-family: 'Be Vietnam Pro';
    font-style: normal;
    letter-spacing: -2px !important;
    font-weight: 600;
}

body:not(.home) header#header section.elementor-section {
    padding-top: 0;
}

body:not(.home) header#header {
    border-bottom: 1px solid #eee;
}



.pattern_bg {
    background-image: url(https://frameworkint.com/wp-content/uploads/2022/03/patt.svg) !important;
}


/* Header */

.home header#header{
	background: transparent !important;
}

header ul.nav-item-children.to-left li {
    max-width: 300px;
}

header .lqd-submenu-cover .main-nav>.menu-item-has-children:not(.megamenu)>.nav-item-children {
   white-space: unset !important;
	min-width: 300px;
    max-width: 300px !important;
}

header .lqd-submenu-cover .main-nav>.menu-item-has-children:not(.megamenu):hover>.nav-item-children {
    transform: unset !important;
    padding-top: 20px !important;
    top: 80% !important;
}
   

/* banner section */

.banner_section {
    background: url(/wp-content/uploads/2024/02/Banner1.webp);
    background-size: cover;
    background-position: bottom center;
}


/* Service cards */

.card_caro_section button.slick-arrow {
    height: 40px;
    width: 40px;
    max-width: unset;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 100%;
    border: none;
    z-index: 9;
}

.card_caro_section button.slick-arrow i {
    /* font-size: 20px !important; */
}

.card_caro_section .elementor-column {
    margin: 0 10px;
    border-radius: 8px;
    overflow: hidden;
}

.card_caro_section .elementor-column figure.elementor-image-box-img {
    height: 320px;
    overflow: hidden;
    margin: 0 !important;
    display: block;
}

.card_caro_section .elementor-column figure.elementor-image-box-img img {
    height: 100%;
    object-fit: cover;
}

.card_caro_section .elementor-image-box-wrapper {
    position: relative;
    display: block !important;
}

.card_caro_section .elementor-image-box-content {
    position: absolute;
    bottom: 20px;
    text-align: left;
    padding: 0 20px;
	z-index: 2;
}

.card_caro_section h3.elementor-image-box-title {
    margin: 0 !important;
}

.card_caro_section figure.elementor-image-box-img a {
    position: relative;
    display: block;
	height: 100%;
    /* color: #fff !important; */
}

.card_caro_section figure.elementor-image-box-img a:before {
    content: "";
    background-image: linear-gradient(180deg, #002E4200 30%, #000 90%);
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    left: 0;
}

.card_caro_section .elementor-image-box-content h3 {
    color: #fff;
    font-size: 20px;
    max-width: 80%;
    line-height: 1.4;
}

.card_caro_section button.slick-arrow.slick-next {
    right: -12px;
}

.card_caro_section button.slick-arrow.slick-prev {
    left: -12px;
}


.card_caro_section button.slick-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
}

.card_caro_section button.slick-arrow:hover {
    background: var(--primary) !important;
    color: #fff !important;
}


.card_caro_section .elementor-image-box-wrapper:hover img {
    transform: scale(1.05);
}

.card_caro_section .elementor-image-box-wrapper img {transition: .5s all;}


/* portfolio cards */

.homepage_design_cards figure.elementor-image-box-img {
    margin: 0 !important;
}

.homepage_design_cards figure.elementor-image-box-img a {
    display: block !important;
    position: relative;
}

.homepage_design_cards figure.elementor-image-box-img a:before {
    content: "";
    background-image: linear-gradient(180deg, #002E4200 30%, #000 90%);
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    left: 0;
}

.homepage_design_cards .elementor-image-box-content {
    position: absolute;
    bottom: 10px;
    z-index: 1;
}

.homepage_design_cards .elementor-image-box-content h3 {
    color: #fff;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 28px !important;
}

.homepage_design_cards figure.elementor-image-box-img {
    height: 260px;
}

.homepage_design_cards figure.elementor-image-box-img img,
.homepage_design_cards figure.elementor-image-box-img a {
    height: 100% !important;
    object-fit: cover;
}

.homepage_design_cards .elementor-image-box-wrapper {
    border-radius: 10px !important;
    overflow: hidden;
}

.homepage_design_cards .elementor-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    grid-gap: 0px;
}

.homepage_design_cards .elementor-container > .elementor-column {
    width: 100%;
}

.homepage_design_cards h3.elementor-image-box-title {
    margin-top: 10px;
    text-align: left;
    font-size: 16px !important;
	max-width: 80% !important;
	line-height: 1.4 !important;
}

.homepage_design_cards p.elementor-image-box-description {
    text-align: left;
}

.homepage_design_cards .elementor-image-box-wrapper:hover img {
    transform: scale(1.05);
}

.homepage_design_cards .elementor-image-box-wrapper img {
    transition: .5s all;
}


/* About page marqee gallery */

.carousel_marqee_gallery .carousel-item-content img {
    height: 350px;
    object-fit: cover;
}

.sustain_cards_section .elementor-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    grid-gap: 15px;
}

.sustain_cards_section .elementor-container > .elementor-column {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    padding: 10px 5px;
}

.sustain_cards_section h3.elementor-image-box-title {
    margin: 0;
    font-size: 18px;
    margin-bottom: 15px;
    line-height: 1.2;
    max-width: 90%;
}

.sustain_cards_section h3.elementor-image-box-title {
    height: 60px;
}


/* Contact page */

.contact_page_form_section h3.elementor-icon-box-title {
    margin-top: 0;
}

.imh-6310-annotation-box {
    background: transparent !important;
}

.contactpage_map_section_content {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    max-width: 500px;
}

.contactpage_map_section_content ul.elementor-icon-list-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
}

.contactpage_map_section_content ul.elementor-icon-list-items li {
    background: #fff;
    padding: 20px !important;
    border-radius: 10px;
    color: #000 !important;
}

.contactpage_map_section_content span.elementor-icon-list-text {
    color: #000 !IMPORTANT;
}


/* Inner pages */

.inner_page_header_dark_section h2 {
    max-width: 700px;
    margin: 0 auto;
}

section.inner_page_header_dark_section {
    background-image: url(/wp-content/uploads/2024/01/Banner1.webp) !important;
    object-fit: contain !important;
    object-position: center center !important;
}


/* .inner_page_header_dark_section {
    max-width: 1120px;
    margin: 0 auto;
    margin-top: 15px;
} */

section.inner_page_header_dark_section > .elementor-container {
    min-height: 200px !important;
}

.ld-lazyload{
	opacity:1 !important;
}

/* Footer text */

.fancy_text_change_footer h2.ld-fh-element {
    display: block !important;
}


.client_logo_section .gallery .gallery-item img{
	width: 100% !important;
}

.elementor-element.elementor-element-c0b51b8 a:hover {
    color: #fff !important;
    text-decoration: underline;
    cursor: pointer !important;
}


/* Service page */

.card_caro_section.grid_services .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	grid-gap: 20px;
}

.card_caro_section.grid_services .elementor-container > .elementor-column {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    margin: 0;
}

.card_caro_section.grid_services .elementor-widget.elementor-widget-image-box {
    border-radius: 10px;
    overflow: hidden;
}

.card_caro_section.grid_services .elementor-container > .elementor-column  > .elementor-element-populated {
    padding: 0;
}


/* Client section */

.client_logo_section figure.gallery-item {
    border: 1px solid #eee;
    border-radius: 10px;
}

.client_logo_section .gallery {
    /*display: grid;*/
    /*grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));*/
    grid-gap: 20px;
    margin-top: 25px;
}

.client_logo_section .gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.client_logo_section .gallery figure {
    flex: 0 0 160px;
}

.client_logo_section .gallery .gallery-item {
    width: 100% !important;
    max-width: unset !important;
    background: #fff;
    padding: 10px;
}

.client_logo_section .gallery .gallery-item img {
    max-width: 120px;
    margin: 0 auto;
}

/* Lifecycle items carosel */

.lifecycle_caro .lqd-testi.pos-rel {
    flex-direction: column-reverse;
    padding: 0;
}

.lifecycle_caro .carousel-item {
    padding: 10px !important;
}

.lifecycle_caro .lqd-testi-details {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

.lifecycle_caro .lqd-testi-np {
    padding: 0;
    /* margin-top: 15px; */
    /* font-size: 40px !important; */
    position: absolute;
    background: #191919;
    width: 25px;
    height: 25px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    right: -5px;
    bottom: -5px;
}

.lifecycle_caro .lqd-testi-np h3 {
    font-size: 15px !important;
    color: #e6e6e6;
    line-height: 1;
    margin: 0 !important;
    font-weight: 700;
}

.lifecycle_caro figure.lqd-testi-avatar {
    width: 70px !important;
    height: 70px;
    border-radius: 100% !important;
    padding: 12px;
    background: #dc3700;
}

.lifecycle_caro figure.lqd-testi-avatar img {
    filter: invert(1);
}

.lifecycle_caro .lqd-testi-quote {
    padding: 0;
    width: 100%;
    margin-top: 20px;
}

.lifecycle_caro .lqd-testi-quote blockquote {
    font-size: 16px !important;
    color: #191919;
}

.lifecycle_caro .lqd-testi-info {
    padding: 0;
}

.lifecycle_caro figure.lqd-testi-avatar:before {
    content: "";
    width: calc(100% + 12px);
    height: calc(100% + 12px);
    border: 2px dashed #191919;
    position: absolute;
    border-radius: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}


/* Lifecycle grid */

.lifecycle_icon_cards .elementor-widget-wrap.elementor-element-populated {
    flex-wrap: wrap;
    justify-content: center;
    grid-row-gap: 60px;
    grid-column-gap: 10px;
}

.lifecycle_icon_cards .elementor-widget-wrap.elementor-element-populated > .elementor-element {
    flex: 0 0 13%;
}

.lifecycle_icon_cards figure.elementor-image-box-img {
    width: 70px !important;
    height: 70px !important;
    background: var(--primary);
    padding: 20px;
    border-radius: 100%;
    position: relative;
}

.lifecycle_icon_cards figure.elementor-image-box-img img {
    filter: invert(1);
}

.lifecycle_icon_cards figure.elementor-image-box-img:before {
    content: "";
    height: calc(100% + 20px);
    width: calc(100% + 20px);
    border: 2px dashed #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 100%;
}

.lifecycle_icon_cards h3.elementor-image-box-title {
    margin: 0;
    position: absolute;
    top: -15px;
    right: 20%;
    width: 25px;
    height: 25px;
    background: #fff;
    border-radius: 100%;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 10px #0000001c;
    /* border: 2px solid #eee; */
}

.lifecycle_icon_cards p.elementor-image-box-description {
    /* margin-top: 15px !important; */
    max-width: 180px !important;
    margin: 0 auto !important;
    font-size: 14px;
    line-height: 1.4;
    padding-top: 15px;
}

.lifecycle_icon_cards figure.elementor-image-box-img:after {
    content: "";
    width: 60px;
    height: 25px;
    background: url(https://frameworkint.com/wp-content/uploads/2023/12/abc.png);
    position: absolute;
    background-repeat: no-repeat !important;
    background-size: contain;
    background-position: right center;
    right: -43px;
    top: 50%;
    transform: translateY(-50%);
}

.lifecycle_icon_cards .elementor-widget-wrap.elementor-element-populated > .elementor-element:last-child figure:after {
    display: none;
}


/* Responsive */

@media screen and (min-width:1025px){
	.logo_column {
    width: 30% !important;
}
}

@media screen and (max-width:1024px){
	header span.navbar-brand-inner img {
    max-width: 130px !important;
}
	
	.banner_text h1.ld-fh-element {
    font-size: 30px !important;
    line-height: 1 !important;
}

.banner_subheading_top span.elementor-heading-title {
    font-size: 12px;
}
}


@media screen and (max-width:767px){
	.section_heading h2 {
    font-size: 30px;
}

.section_heading h2 br {
    display: none;
}

	
.homepage_testimonials .carousel-item-inner blockquote {
    padding-right: 0 !important;
}
	
	.card_caro_section button.slick-arrow.slick-next{
		right: 0 !important;
	}
	
	.card_caro_section button.slick-arrow.slick-prev{
		left: 0 !important;
	}
	
	.testimonial_slider_main .elementor-element-populated {
    padding-left: 5px !important;
    padding-right: 5px !important;
}
	
	.homepage_logo_section {
    margin-bottom: 20px !important;
}
	
	.counter_section .lqd-counter-element {
    font-size: 50px !important;
    margin-bottom: -20px !important;
}

.counter_section {
    padding-bottom: 0 !important;
}
	
	.inner_page_header_dark_section .elementor-container {
    min-height: 220px !important;
}

.inner_page_header_dark_section {
    padding-top: 100px !important;
}
	
	.contactpage_map_section_content {
    position: unset;
    top: unset !important;
    transform: unset;
}


.contact_map_section_main .imh-6310-annotation-box.imh-6310-annotation-box-2 {
    width: 300% !important;
    margin-left: -50%;
    margin-top: 20px;
}

.contact_map_section_main .elementor-shortcode {
    width: 200%;
}
	
	.pattern_bg.portfolio_logo_section {
    padding-top: 20px !important;
}
	
	.homepage_testimonials  ol.flickity-page-dots {
    text-align: left !important;
}
	
	
}


@media screen and (max-width:480px){
	.client_logo_section .gallery{
		grid-template-columns: repeat(3, 1fr) !important;
		grid-gap: 10px !important;
	}
	#homepage_logo_sec.client_logo_section .gallery figure:last-child{
		display: none !important;
	}
		.lifecycle_icon_cards .elementor-widget-wrap.elementor-element-populated > .elementor-element {
    flex: 0 0 99%;
}
	
	.lifecycle_icon_cards p.elementor-image-box-description {
    max-width: unset !important;
}

.lifecycle_icon_cards h3.elementor-image-box-title {
    right: 33%;
}

.lifecycle_icon_cards figure.elementor-image-box-img:after {
    bottom: -69px !important;
    right: unset;
    top: unset;
    transform: rotate(90deg) translateX(-50%);
    left: 25%;
}

.lifecycle_icon_cards p.elementor-image-box-description {
    padding-top: 45px;
}

.lifecycle_icon_cards .elementor-widget-wrap.elementor-element-populated > .elementor-element:last-child p.elementor-image-box-description {
    padding-top: 15px;
}
}

@media screen and (min-width:620px) and (max-width:959px){
	.lifecycle_icon_cards .elementor-widget-wrap.elementor-element-populated > .elementor-element {
    flex: 0 0 24%;
}
}

@media screen and (min-width:481px) and (max-width:619px){
	.lifecycle_icon_cards .elementor-widget-wrap.elementor-element-populated > .elementor-element {
    flex: 0 0 49%;
}
}


