/**
 * Theme Name:     GeneratePress Child
 * Author:         Tom Usborne
 * Template:       generatepress
 * Text Domain:	   generatepress-child
 * Description:    GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
 */
.timeline-section {
    position: relative;
}
.timline-div {
    position: absolute !important;
    left: 50%;
    transform: translateX(-50%);
}
.timeline {
    position: relative;
    width: 100%;
    height: 100%;
}
.timeline ul {
    position: relative;
    padding: 0;
    margin: 0;
    list-style: none;
}
.timeline .default-line {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  background: #efefef; 
  height: 100%;
  z-index: 1;
}
.timeline .draw-line {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  background: #efbb1f; 
  height: 20px; 
  z-index: 2;
  transition: height 1s ease-out;
  border-radius: 5px;
}
.timeline ul li.timeline-point {
    position: relative;
    height: 570px;
}
.timeline ul li span {
    font-size: 50px;
    letter-spacing: 1px;
    line-height: 82px;
    color: #efbb1f;
    font-weight: 700;
    font-family: "Roboto";
    text-align: center;
    width: 99px;
    height: 99px;
    border-radius: 50px;
    background-color: #ffffff;
    border: 8px solid #efbb1f;
    display: block;
    z-index: 3;
    position: relative;
    margin: 0 auto;
}
.timeline ul li.timeline-point.in-view span {
    background-color: #efbb1f;
    color: #ffffff;
    border-color: #efbb1f;
}
.timeline ul li.timeline-point.first-one::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    height: 85px;
    background: #efbb1f;
    z-index: 3;
    transition: background-color 0.3s;
    top: -85px;
    border-radius: 0px;
}
.timeline ul li.timeline-point.point-5::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 100%;
    width: 20px;
    height: 20px;
    background: #f1c40f;
    border-radius: 50%;
    z-index: 3;
    transition: background-color 0.3s;
    bottom: 0px;
}
.timeline ul li.timeline-point.in-view.point-5::before {
    background: #efefef;
}
@media(max-width:1199px){
    .timeline ul li.timeline-point {
        height: 527px;
    }
}
@media(min-width:991px){
    .right-icons li.elementor-icon-list-item span.elementor-icon-list-icon {
        order: 2;
        padding: 0px 0px 0px 10px !important;
    }
}
.flip-folder {
    clip-path: polygon(58% 12%, 50% 12%, 100% 12%, 100% 100%, 0 100%, 0 0, 48% 0);
}
.flip-front-none .elementor-flip-box__layer.elementor-flip-box__front {
    display: none;
}
.flip-front-none.elementor-flip-box--effect-flip.elementor-flip-box--direction-up .elementor-flip-box__back {
    transform: rotateX(0deg) rotateY(0) !important;
}

/** SINGLE PROJECT **/
.banner-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    color: #fff;
    margin: 15px 0;
    max-width: 700px;
}
.banner-item img {
    min-width: 34px;
}
.banner-item p {
    margin: 0;
    font-size: 18px;
    line-height: 26px;
}
.recent-projects .elementor-post__thumbnail {
    padding-bottom: calc(0.8 * 100%);
}
.recent-projects .elementor-post__text {
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: calc(100% - 40px) !important;
}
.recent-projects .elementor-post__thumbnail__link img {
    height: 100%;
    min-height: 100%;
}
.recent-projects .elementor-post__thumbnail__link {
    margin: 0 !important;
}
/**-SINGLE PROJECT-**/
/** GRID SLIDER **/
.grid-item {
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2;
	border: 1px solid #fff;
}
.project-image-grid {
    width: 100%;
    margin: 0 auto;
}
.image-grid-wrapper .grid-item img {
	width: 100%;
	height: 100%;
	object-fit:cover;
	display: block;
}
.owl-nav button:hover {
	background: rgb(239 187 31) !important;
}
.owl-nav button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0, 0, 0, 0.8) !important;
	color: #fff !important;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	font-size: 24px !important;
	line-height: 24px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.owl-nav button span {
    font-size: 35px;
    line-height: 30px;
    position: relative;
    top: -3px;
}
.owl-nav .owl-prev {
	left: 20px;
}
.owl-nav .owl-next {
	right: 20px;
}
/**-GRID SLIDER-**/
/** FILTER TABS **/
#no-project-message {
	text-align: center;
	font-size: 16px;
    border-left: 3px solid #efbb1f !important;
    width: 100%;
    padding: 20px 30px;
    border-radius: 15px;
    background: #efbb1f21;
    color: #000000;
    margin: 40px auto;
    max-width: max-content;
}
.immi-tabs-filter {
	width: 100% !important;
    max-width: 100% !important;
}
.project-filters {
    text-align: center;
    margin: 30px 0;
    display: flex;
    align-items: center;
    justify-content: center;    
	gap: 15px 25px;
    flex-wrap: wrap;
}
.filter-btn {
	border-bottom: 2px solid transparent !important;
    background: transparent !important;
    border: 0 !important;
    color: #000 !important;
    font-size: 18px !important;
    margin: 0;
    cursor: pointer;
    transition: color 0.3s;
    padding: 0px !important;
    text-transform: capitalize !important;
    text-decoration: none !important;
    font-weight: 400 !important;
}
.project-item:hover .project-title, .filter-btn:hover, .filter-btn.active {
    color: #EFBB1F !important;
	border-bottom: 2px solid #EFBB1F !important;
}
.project-item {
    background: #fff;
    width: 100%;
    overflow: hidden;
    box-shadow: 1px 1px 19px 0px #00000021;
    border-radius: 20px;
    border-bottom: 2px solid #a7af8e;
}
.projects-grid {
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}
.project-item:hover .project-thumb img  {
    transform: scale(1.1);
}
.project-thumb, .project-thumb img {
	overflow:hidden;
    width: 100%;
	transition: all 0.4s ease-in-out;
    max-width: 100%;    
    max-height: 320px;
    min-height: 320px;
	object-fit: cover;
    display: block;
	transform: scale(1.04);
}
.project-content {
    padding: 20px 15px;
}
.project-title {
    font-size: 18px;
    font-weight: 600;
    color: #000;
   /* text-transform: capitalize; */
    margin: 0 !important;
    text-align: center;
}
@media only screen and (min-width:1200px) and (max-width:1400px){
	.project-thumb, .project-thumb img {
		max-height: 280px;
		min-height: 280px;
	}
}
@media only screen and (min-width:768px) and (max-width:1199px){
	.project-thumb, .project-thumb img {
		max-height: 240px;
		min-height: 240px;
	}
}
@media (max-width: 992px) {
	.projects-grid {
		grid-template-columns: repeat(3, 1fr);
	}	
}
@media only screen and (min-width:576px) and (max-width:767px){
	.project-thumb, .project-thumb img {
		max-height: 220px;
		min-height: 220px;
	}
    .projects-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    
}
@media only screen and (max-width:1199px){
	.filter-btn {
		font-size: 16px !important;
	}
}
@media only screen and (max-width:575px){
	#no-project-message {
		font-size: 14px;
		border-left: 2px solid #efbb1f !important;
		padding: 10px 15px;
		margin: 40px auto;
	}
	.project-thumb, .project-thumb img {
		max-height: 220px;
		min-height: 220px;
	}	
	.project-image-grid {
		padding: 0 0px;
	}
	.owl-nav button {
		width: 40px !important;
		height: 40px !important;
	}
	.owl-nav button span{
		font-size: 22px;
		line-height: 22px;
		top: 0;
	}
	.owl-nav .owl-next {
		right: 10px;
	}
	.owl-nav .owl-prev {
		left: 10px;
	}
    .projects-grid {
        grid-template-columns: repeat(1, 1fr);
      }
}
/**-FILTER TABS-**/

/** POPUP **/
.image-popup {
	position: fixed;
	z-index: 999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #000000a6;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	pointer-events: none;
	transition: all 0.4s ease;
}
.image-popup.active {
	opacity: 1;
	pointer-events: all;
}
.image-popup img {
	max-width: 900px !important;
    max-height: 80% !important;
    border-radius: 10px !important;
	object-fit:cover;
    width: 100%;
    border: 5px solid #fff !important;
    box-shadow: 0 0 20px 0 #ffffff5c !important;
	transform: scale(0.8);
	opacity: 0;
	transition: transform 0.4s ease, opacity 0.4s ease;
}
.image-popup.active img {
	transform: scale(1);
	opacity: 1;
}
.image-popup.active {
	display: flex;
}
.close-popup {
    position: absolute;
    top: 40px;
    right: 40px;
    color: #000000;
    font-size: 32px;
    line-height: 45px;
    font-weight: bold;
    cursor: pointer;
    z-index: 1000;
    background: #ffffff;
    border-radius: 50px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	transition: transform 0.3s ease;
    border: 2px solid #fff;
}
.close-popup:hover {
	transform: rotate(90deg);
}
/**-POPUP-**/
/***for remove loader***/
e-page-transition {
    background-color: transparent !important;
    display: none !important;
    background: transparent !important;
}
.elementor-flip-box__layer {
    transition: all 1s ease-in-out !important;
}
.new-banner-code .banner-icon {
    display: none;
}
.new-banner-code section.project-banner-section * {
    text-align: center;
}
.new-banner-code .banner-item {
    justify-content: center;
}
.new-banner-code section.project-banner-section {
    display: flex;
    flex-direction: column;
}
.new-banner-code .project-banner-section .banner-item:not(:only-child) {
    order: 2;
}

.new-banner-code .project-banner-section .banner-item:not(:only-child):last-child {
    order: 1;
}
.new-banner-code .project-banner-section .banner-item:not(:only-child):last-child p span,
.new-banner-code .project-banner-section .banner-item:not(:only-child):last-child p {
    font-size: 34px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    line-height: 34px;
}

.new-banner-code .banner-item {
    max-width: 1017px;
}
@media(max-width:991px){
    .new-banner-code .project-banner-section .banner-item:not(:only-child):last-child p span, .new-banner-code .project-banner-section .banner-item:not(:only-child):last-child p{
        font-size: 24px !important;
        line-height: 24px !important;
    }
}
@media(max-width:767px){
    .new-banner-code .project-banner-section .banner-item:not(:only-child):last-child p span, .new-banner-code .project-banner-section .banner-item:not(:only-child):last-child p {
        font-size: 20px !important;
        line-height: 20px !important;
    }
}

.project-item {
    transition: all 0.4s ease;
    transform-origin: center center;
    opacity: 1;
}
.project-item.hidden {
    opacity: 0;
    transform: scale(0.9);
    pointer-events: none;
}
/***FLIP-FOLDER***/
.flip-folder h3.elementor-flip-box__layer__title {
    font-size: 22px !important;
    line-height: 32px !important;
}
.flip-folder .elementor-flip-box__layer__description {
    font-size: 18px !important;
    line-height: 26px !important;
    font-weight: 400 !important;
}
@media(max-width:1399px){
	.flip-folder h3.elementor-flip-box__layer__title {
		font-size: 18px !important;
		line-height: 28px !important;
	}
	.flip-folder .elementor-flip-box__layer__description {
		font-size: 16px !important;
		line-height: 23px !important;
	}
}
@media(max-width:1199px){
	.flip-slider .elementor-flip-box--effect-flip .elementor-flip-box__front {
		display: none;
	}
	.flip-slider .elementor-flip-box--effect-flip.elementor-flip-box--direction-up .elementor-flip-box__back {
		transform: none;
	}
}
/****FOR FORM SUCCESS MESSAGE***/
.elementor-message.elementor-message-success.elementor-message-svg {
    background: #102246;
    padding: 12px;
    color: #fff;
    border-top: 2px solid #efbb1f;
}
/*
.stand-box {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.25s ease;
}

.stand-box.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}*/

.carrer-form select{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.carrer-form select option {
    white-space: nowrap;
}

@media(max-width:767px){
    /*
    .flip-carousel .swiper-slide.swiper-slide-active {
        width: 90% !important;
    }
    .flip-carousel .swiper-wrapper .swiper-slide:last-child {
        width: 100% !important;
    }*/
    .tab-tab .e-n-tabs-heading {
        position: sticky;
        top: 0px;
        z-index: 1;
        background: #fff;
    }
    .flip-folder h3.elementor-flip-box__layer__title {
        font-size: 22px !important;
        line-height: 30px !important;
    }
    .email-text p a span{
         font-size: 12px;
    }
    /*
    .flip-folder .elementor-flip-box__layer__description {
        font-size: 15px !important;
        line-height: 20px !important;
    }
    
    .flip-folder .elementor-flip-box__button.elementor-button {
        font-size: 14px !important;
        padding: 12px 16px;
        line-height: 17px !important;
    }*/
}






