/*!
Theme Name: Colour Olive
Theme URI: http://underscores.me/
Author: Colour Olive
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: colour-olive
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Colour Olive is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*
00. Library override(ex. bootstrap etc) --------------------
01. Text and Typography ------------------------------------
02. Common element(ul,ol,li,body,div etc.) -----------------
03. Common class(padding, margin etc.) ---------------------
04. Header styles ------------------------------------------
05. Footer styles-------------------------------------------
06. Common content------------------------------------------
07. Pages and Posts-----------------------------------------
08. Extra styles--------------------------------------------
09. Media Query---------------------------------------------
*/
/* End Table of Contents */

/* 00. Library override(ex. bootstrap etc) start*/
/* 00. Library override(ex. bootstrap etc)   end*/


/* 01. Text and Typography start */
/* 01. Text and Typography end */


/* 02. Common element(ul,ol,li,body,div etc.) start*/
:root {
	--co-Green: #657D39;
	--co-Black: #000000;
	--co-White: #FFFFFF;
	--co--charcol: #181818;
	--co--border-gray: #AFACA5;
}

body {
	margin: 0 auto !important;
	background-color: #F7F6F3 !important;
}

/* 02. Common element(ul,ol,li,body,div etc.) end*/


/*03. Common class(padding, margin etc.) start*/
/*03. Common class(padding, margin etc.) end*/


/*04. Header styles start*/
.main-header {
	background: #ffffffde;
	transition: 0.3s ease-in-out;
	backdrop-filter: blur(5px);
	animation: slideDown 0.35s ease-out;
}

.header-button .elementor-button-icon svg {
	fill: var(--co-Green);
}

.main-header .logo-title a {
	font-family: "Poppins", Sans-serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--e-global-color-secondary);
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item:first-child {
	margin-top: 0px;
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item {
	margin-top: 40px;
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item a {
	justify-content: space-between;
	text-align: left;
	flex-direction: row-reverse;
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item {
	padding: 0px 15px 15px 0px;
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon svg {
	margin: 0px !important;
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon svg {
	height: 30px !important;
	width: 30px !important;
	display: inline-block;
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon {
	position: relative;
	height: 30px;
	width: 30px;
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon::after {
	content: '';
	position: absolute;
	height: 20px;
	width: 20px;
	background: #F8CF18;
	border-radius: 50%;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	transition: all 0.2s ease-in-out;
}

.menu-list .elementor-icon-list-items .elementor-icon-list-item:hover .elementor-icon-list-icon::after {

	left: 5px;
}


/* Style the main-header popup close button */
.main-header-popup .dialog-close-button {
  width: 19px;
  height: 19px;
  background-color: #F8CF18;
  border-radius: 50%;
  position: absolute;
  top: 15px;
  right: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

/* Hide the default SVG cross icon */
.main-header-popup .dialog-close-button svg {
  display: none !important;
}

/* Add "CLOSE" text next to the button, fully clickable */
.main-header-popup .dialog-close-button::after {
    content: "CLOSE";
    position: absolute;
    top: 50%;
    right: 150%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-transform: capitalize;
    font-family: 'Poppins', sans-serif;
    letter-spacing: 3px;
}

/*04. Header styles end*/


/*05. Footer styles start*/
.coloured-text {
	color: var(--co-Green);
}

/*05. Footer styles end*/


/*06. Common content start*/

/* heading css start */
.banner-text .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}


.bullet-text .elementor-icon-list-item .elementor-icon-list-icon svg {
	fill: var(--co-Green);
}

/* heading css end */

/* button css start */
.custom-button .elementor-button-icon svg,
.custom-button .elementor-button-icon {
	height: 25px;
	width: 25px;
}

.custom-button .elementor-button-icon {
	position: relative;
}

.custom-button .elementor-button-icon::after {
	content: '';
	position: absolute;
	height: 18px;
	width: 18px;
	background: #F8CF18;
	border-radius: 50%;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	transition: all 0.2s ease-in-out;
}

.custom-button .elementor-button:hover .elementor-button-icon::after {
	left: 4px;
}

/* button css end */

/*06. Common content end*/


/*07. Pages and Posts satrt*/
/*Homepage satrt*/
.filter-image img {
	filter: grayscale(1);
	transition: all 0.3s ease-in-out;
}

.filter-image img:hover {
	filter: grayscale(0);
}

/*Homepage end	*/

/* About us page css start */
.custom-slider.normal-slider .splide__list .splide__slide img{
	filter: none;
	border-radius: 10px;
	object-fit: cover;
}

.custom-slider.normal-slider .splide__list{
	align-items: center;
	height: auto;
}

.custom-slider.lab-slider .splide__list .splide__slide img{
	filter: none;
}


.about-banner-section {
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  height: 534px;
}

.about-banner-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center; 
  justify-content: center !important; 
  position: relative;
}

.about-banner-img img {
  width: 550px;  
  height: 534px;  
  display: block;
  object-fit: cover;
  transform-origin: center center; 
  position: relative;
  border-radius: 5px !important;
  filter: grayscale(1);
}

/* About us page css end  */

/* Accordion section css start */
.elementor-element.accordion-section {
	overflow-y: overlay !important;
	height: 311px !important;
}

/* Chrome, Edge, Safari */
.elementor-element.accordion-section::-webkit-scrollbar {
	width: 4px;
	height: 4px;
}

.elementor-element.accordion-section::-webkit-scrollbar-track {
	background: transparent;
}

.elementor-element.accordion-section::-webkit-scrollbar-thumb {
	background-color: var(--co--border-gray);
	border-radius: 2px;
	border: none;
}

/* Firefox */
.elementor-element.accordion-section {
	scrollbar-width: thin;
	scrollbar-color: var(--co--border-gray) transparent;
}

.custom-accordion .e-n-accordion .e-n-accordion-item {
	border-bottom: 1px solid var(--co--border-gray);
}

.custom-accordion .e-n-accordion-item:first-child .e-n-accordion-item-title {
	padding-top: 0px;
}

.custom-accordion .e-n-accordion .e-n-accordion-item:last-child {
	border-bottom: none;
}

.offering-image img {
	width: 100%;
}

/* Accordion section css end */

/* Project listing page css start */
.project-count {
	font-size: 12px;
	font-weight: 400;
	font-family: 'poppins', sans-serif;
	color: var(--co--border-gray);
	text-transform: uppercase;
	text-align: end;
}

.project-feature-image img {
	width: 100%;
}

.project-listing .e-loop-item:nth-child(odd) .image-container {
	flex-direction: row-reverse;
}

.project-listing .elementor-loop-container .e-loop-item:last-child .project-box {
    border-bottom: none;
}


.project-back-btn .elementor-button .elementor-button-text {
	font-family: 'poppins', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: var(--co--border-gray);
	text-transform: uppercase;
	line-height: 1.4em;
}

.project-back-btn .elementor-button .elementor-button-icon svg {
	width: 25px;
	height: 18px;
}

.project-category .elementor-shortcode {
	font-family: 'poppins', sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: var(--co--border-gray);
}

.credit-text {
	font-weight: 500;
}

/* Project listing page css end */


/* Contact us page css start */
.contact-form {
	max-width: 860px;
}

.contact-form .wpcf7-form-control-wrap .wpcf7-select{
	 color: var(--co--border-gray);
}

.contact-form .wpcf7-form .select2-container--default .select2-selection--single,
.contact-form .wpcf7-form-control-wrap input {
	background: transparent;
	border-bottom: 2px solid #CBD2BC;
	border-top: 0px;
	border-right: 0px;
	border-left: 0px;
	border-radius: 0px;
	box-shadow: none;
	width: 100%;
	padding: 0px 0px 18px 0px;
	font-size: 16px;
	font-weight: 400;
	color: var(--co-Black);
}

.contact-form .custom-input {
	margin: 0px 0px 50px 0px;
}

.contact-form p {
	margin-bottom: 0px;
}
.contact-form .wpcf7-form-control-wrap input{
	opacity: 0.8;
}

.contact-form .custom-input::placeholder {
	color: var(--co-Black);
	font-family: 'poppins', sans-serif;
	font-size: 16px;
	font-weight: 400;
	text-transform: none;
}

.contact-form .wpcf7-form-control-wrap input:focus {
	outline: none;
	border-bottom: 2px solid var(--co-Green);
	color: var(--co-Black);
	opacity: 1;
}

.contact-form .custom-textarea {
	margin: 0px 0px 30px 0px;
}

.contact-form .custom-textarea textarea {
	width: 100%;
	padding: 20px;
	background-color: #F2F1ED;
	border-radius: 0px;
	border: none;
	height: 150px;
	resize: vertical;
}

.contact-form .custom-textarea textarea::placeholder {
	color: #AFACA5;
	opacity: 1;
	font-family: 'poppins', sans-serif;
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
}

.contact-form .custom-textarea textarea:focus{
	border: 1px solid var(--co-Green);
	outline: none;
	box-shadow: none;
}

.contact-form .custom-acceptance p {
	margin-bottom: 95px;
	display: flex;
	align-items: center;
	gap: 15px;
}

.custom-acceptance p .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #585755;
	font-family: 'poppins', sans-serif;
	font-size: 16px;
	font-weight: 400;
	text-transform: none;
}
.contact-form .custom-acceptance,
.custom-acceptance p .wpcf7-list-item {
	margin: 0px;

}

.custom-acceptance p .wpcf7-list-item label input[type="checkbox"] {
	width: 24px;
	height: 24px;
	border: 2px solid #AFACA5;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	outline: none;
	cursor: pointer;
	position: relative;
	border-radius: 100%;
	background-color: #E6E3DB;
}

.custom-acceptance p .wpcf7-list-item label input[type="checkbox"]:checked {
	background-color: var(--co-Green);
	border: none;
}

.contact-form .custom-submit {
	position: relative;
	display: inline-block;
	width: max-content;
}

.contact-form .custom-submit .wpcf7-submit {
	color: #657D39;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
	border: none;
	border-radius: 0;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
	padding: 16px 65px 16px 28px;
	margin: 0;
	background: transparent;
	position: relative;
	z-index: 1;
	display: inline-block;
	border: 1px solid #657D39;
	border-radius: 130px;
}

/* First circle (::before) */
.contact-form .custom-submit::before {
	content: '';
	position: absolute;
	height: 22px;
	width: 22px;
	background: #657D39;
	border-radius: 50%;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
	z-index: 0;
}

/* Second circle (::after) */
.contact-form .custom-submit::after {
	content: '';
	position: absolute;
	height: 18px;
	width: 18px;
	background: #F8CF18;
	border-radius: 50%;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
	z-index: 1;
}

/* Hover animation */
.contact-form .custom-submit:hover::after {
	right: 32px;
}

.contact-form .wpcf7-spinner {
	padding: 0;
	margin: 0;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.6);
	z-index: 2;
	border-radius: 130px;
}

.contact-form .wpcf7-spinner::before {
	background-color: var(--co-Green);
	top: 40%;
	left: 40%;
	opacity: 1;
}


.custom-input input:-webkit-autofill,
.custom-input input:-webkit-autofill:hover,
.custom-input input:-webkit-autofill:focus,
.custom-input input:-internal-autofill-selected {
    background-color: transparent !important; /* change background */
    color: #000 !important;           /* change text color */
    -webkit-text-fill-color: #000 !important; /* text color for autofill */
    transition: background-color 5000s ease-in-out 0s; /* prevents yellow flash */
}

.custom-input select.wpcf7-select option {
  font-family: 'Poppins', sans-serif;
  color: #333;
  border: none;
  background-color: #F2F1ED;
  border: none;
  padding: 20px;
}

.contact-form .text-link{
	color: var(--co-Green);
	font-weight: 400;
	font-family: 'poppins', sans-serif;
}

.custom-lable{
	font-family: 'poppins', sans-serif;
	color: var(--co--border-gray);
	font-size: 16px;
	font-weight: 400;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.wpcf7-not-valid-tip{
	color:#BE383B;
}

.contact-form .wpcf7-form .wpcf7-response-output{
	border-color: #AFACA5 !important;
	border-width: 1px;
}


/* Select2 single select styling */


.contact-form .wpcf7-form .select2-container--default .select2-selection--single {
	height: 45px;
    padding: 0px;
    background-color: transparent;
    border-radius: 0px;
}

/* Style the dropdown itself */
.select2-container .select2-results__options{
	padding: 10px;
}
.select2-container .select2-selection__clear{
	display: none;
}

.select2-container .select2-dropdown {
    background-color: #F2F1ED !important;
    border: none !important;
    border-radius: 6px; /* optional */
	
}
.select2-container--open .select2-dropdown {
    left: 0;
    top: 20px;
}

.select2-container--default .select2-results>.select2-results__options{
	max-height: max-content !important;
}

.select2-container .select2-dropdown .select2-results__options .select2-results__option {
    padding: 10px 5px;
    user-select: none;
    -webkit-user-select: none;
    border-bottom: 1px solid #E6E3DB;
	color: #AFACA5;
	font-family: 'Poppins', sans-serif;
	font-style: 300;
}

.select2-container--default .select2-results__option:last-child {
    border-bottom: none !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.select2-container .select2-dropdown .select2-results__options .select2-results__option:hover{
	background-color: #E6E3DB !important;
	color: #657D39 !important;
}

/* Hide the search box */
.select2-container .select2-search {
    display: none !important;
}

.contact-form .wpcf7-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 28px;
    font-size: 16px;
    font-weight: 400;
    font-family: 'Poppins', sans-serif;
    text-transform: uppercase;
    padding-left: 0px;
}

.contact-form .wpcf7-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
    right: 10px;
}

.contact-form .wpcf7-form .select2-container .select2-dropdown {
    border-radius: 6px;
    border: 1px solid #ccc;
}

/* Optional: Hover and focus */
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #f8cf18; /* highlight color on open/focus */
}




.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none !important; 
    width: 16px !important; 
    height: 16px !important; 
    background-image: url('../images/down-icon.svg'); 
    background-size: contain; 
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-indent: -9999px;
}
/* Contact us page css end */


/* About us page css start */
.custom-about-section{
	position: relative;
}
.custom-logo-bg {
	top: 45%;
    position: absolute !important;
    right: -45px;
    z-index: 1;
}

.text-bg {
    position: relative;
    display: inline-block; /* ensures pseudo-element fits text width */
}

.text-bg::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    width: 100%;
    height: 0.35em;
    background: var(--co-Green);
    z-index: -1;
    opacity: 0.5;
}



/* About us page css end */

/*07. Pages and Posts end*/

.masonry-gallery {
    column-count: 3;
    column-gap: 10px;
}
.masonry-gallery .masonry-item {
    break-inside: avoid;
    margin-bottom: 10px;
}
.masonry-gallery .masonry-item img {
    width: 100%;
    height: auto;
    display: block;
}

.event-popup-body .popup-event-content {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important; /* 'start' → 'flex-start' for proper alignment */
    gap: 2%; /* optional spacing between blocks */
}

.event-popup-body .popup-event-content .wp-block-group:nth-child(1),
.event-popup-body .popup-event-content .wp-block-group:nth-child(2) {
    flex: 0 0 45% !important; /* fixed width for 2 columns */
    box-sizing: border-box !important; /* ensures padding/border doesn’t break width */
}

.event-popup-body .popup-event-content .wp-block-group .wp-block-list,
.event-popup-body .popup-event-content .wp-block-group p{
	margin-bottom: 25px;
}


.event-popup-body .popup-event-content .wp-block-group.is-vertical.is-layout-flex{
	display: block !important;
}

.event-popup-body .popup-event-content .wp-block-group:nth-child(3) {
    flex: 0 0 100% !important; /* full width for 3rd block */
    box-sizing: border-box !important;
}



/* Container */
.wp-block-gallery{
	padding-top: 40px;
    border-top: 1px solid #B4B4B4;
    margin-top: 10px !important;
}


.wp-block-gallery.has-nested-images {
    display: block !important; /* remove flex if needed */
    margin-left: -8px; /* half of gutter for proper spacing */
}

.wp-block-gallery.has-nested-images .wp-block-image {
    width: calc(33.333% - 3.66px);
    margin-bottom: 16px; /* vertical spacing */
    float: left;
    box-sizing: border-box;
    padding-left: 10px; /* half gutter */
	padding-bottom: 15px;
}

.wp-block-gallery.has-nested-images .wp-block-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 5px; 
    object-fit: cover; 
}



/* 08. Extra styles start*/
/* 08. Extra styles end*/


/*09. Media Query start*/
@media screen and (min-width: 992px) {}

@media screen and (min-width: 768px) {}

@media screen and (max-width: 1280px){
	.custom-logo-bg{
		right: 0px;
	}
}
@media screen and (max-width: 1199px) {

}

@media only screen and (min-width: 991px) and (max-width: 1140px) {
	.elementor-element.accordion-section {
		height: 270px !important;
		padding-right: 20px;
	}
}

@media screen and (max-width: 1024px){

}

/*Tablet*/
@media screen and (max-width: 991px) {
	.wp-block-gallery.has-nested-images .wp-block-image {
        width: 48%;
    }
}

@media screen and (max-width: 768px) {
	.project-count {
		text-align: start;
	}
	.about-banner-section {
		height: 400px; 
	}
	.about-banner-img img {
		width: 200px;   
		height: 400px; 
	}
    .custom-logo-bg {
        top: 63%;
    }
	.event-popup-body .popup-event-content {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: space-between !important; 
		gap: 2%; 
	}

	.event-popup-body .popup-event-content .wp-block-group:nth-child(1),
	.event-popup-body .popup-event-content .wp-block-group:nth-child(2) {
		flex: 0 0 100% !important; 
		box-sizing: border-box !important; 
	}

	.event-popup-body .popup-event-content .wp-block-group:nth-child(3) {
		flex: 0 0 100% !important; /* full width for 3rd block */
		box-sizing: border-box !important;
	}
}

@media only screen and (min-width: 767px) and (max-width: 991px) {
	.elementor-element.accordion-section {
		height: 170px !important;
		padding-right: 20px;
	}
}

/*Small Device*/
@media screen and (max-width: 767px) {}

/*Mobile Device*/
@media screen and (max-width: 640px) {
	.elementor-element.accordion-section {
		height: auto !important;
	}

	.contact-form .custom-input {
		margin: 0px 0px 45px 0px;
	}

	.contact-form .custom-acceptance p {
		margin-bottom: 45px;
	}

	.custom-acceptance p .wpcf7-list-item label input[type="checkbox"] {
		width: 40px;
		height: 20px;
	}

	.custom-acceptance p .wpcf7-list-item label {
		align-items: start;
	}

	.contact-form .custom-submit::before {
		right: 45px;
	}

	.contact-form .custom-submit::after {
		right: 35px;
	}

	.contact-form .custom-submit:hover::after {
		right: 47px;
	}
	.wp-block-gallery.has-nested-images .wp-block-image {
        width: 100%;
    }
}

/*Extra Small Mobile Device*/
@media screen and (max-width: 480px) {

	.project-listing .e-loop-item:nth-child(even) .image-container,
	.project-listing .e-loop-item:nth-child(odd) .image-container {
		flex-direction: column-reverse;
	}

	.project-category .elementor-shortcode {
		font-size: 16px;
	}
	.menu-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon svg {
		height: 25px !important;
		width: 25px !important;
		display: inline-block;
	}

	.menu-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon::after{
		height: 15px;
    	width: 15px;
		top: 40%;
	} 
	.custom-lable{
		margin-bottom: 10px;
	}
	.custom-lable,
	.contact-form .wpcf7-form-control-wrap .wpcf7-select,
	.contact-form .wpcf7-form-control-wrap input{
		font-size: 14px;
	}

	.about-banner-section {
		height: 300px;
	}

	.about-banner-img img {
		width: 150px;
		height: 300px;
	}

	.custom-logo-bg {
        top: 60%;
    }

    .popup-event-swiper {
        width: 100%;
        padding: 20px 0 40px 0;
    }
    .popup-event-swiper .swiper-slide {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .popup-event-swiper .swiper-slide img {
        width: 90%;
        height: auto;
        border-radius: 5px;
    }
    .swiper-pagination {
        bottom: 10px;
    }
	.wp-block-gallery.has-nested-images .wp-block-image{
		margin-left: 10px;
		padding-left: 10px;
	}

	.event-popup-body .popup-event-content .wp-block-group:nth-child(2){
		margin-top: 15px;
	}
	.select2-container .select2-dropdown .select2-results__options .select2-results__option,
	.contact-form .wpcf7-form .select2-container--default .select2-selection--single .select2-selection__rendered{
		font-size: 14px;
	}
	.select2-container .select2-dropdown .select2-results__options .select2-results__option{
		padding: 15px 5px;
	}
}

@media screen and (max-width: 440px) {}

@media screen and (max-width: 420px) {}

/*09. Media Query end*/