/*
Theme Name: Catchy Labs Theme Child
Theme URI: https://catchylabs.com/
Description: Child theme for the Catchy Labs Elementor Theme WordPress theme.
Author: Bobby Danklefsen
Author URI: https://catchylabs.com/
Template: catchylabs-theme
Version: 1.0.0
Text Domain: cl-elementor
*/

#page header#masthead {
	/* position:fixed; */
	top:0;
	left:0;
	right:0;
	width:100%;
}

.header-top-section {
	position: fixed;
}

.scrolling-header {
	transition: all 1s ease !important;
}

.scrolling-header.hidden {
    transition: all 2s ease !important;
}

.scrolling-header.hidden {
    transform: translateY(-200%);
}

body.admin-bar #page header#masthead {
	top:32px;
}

.height-100 {
	height:100%;
}

.horizontal-scroll {
	overflow-x: auto;
}

/*.page-content > div > div:nth-child(1) {
	background-color: transparent;
    background-image: linear-gradient(180deg, #0000008C 0%, #FFFFFF00 100%);
}*/


/* Display Promo ads only on home page */
.footer-banner {
	display: none;
}

.home .footer-banner, .elementor-editor-active .footer-banner {
	display: flex;
}

/********** GLOBAL **********/

h2 {
	color: #00725D !important;
}

.ul-disc ul {
	list-style: disc;
	padding-left: 20px;
}


.gray-links p {
	margin-bottom: 0;
	padding: 15px 50px;
	display: flex;
}
.gray-links a {
	text-decoration: none;
}
.gray-links p:nth-child(odd) {
    background-color: #D9D9D9;
}
.gray-links p:first-child {
    border-radius: 25px 25px 0px 0px;
}
.gray-links p:last-child {
    border-radius: 0px 0px 25px 25px;
}
.gray-links .elementor-widget-container{
	height: auto !important;
}

/*this changes the button size on sliders */
.more-button img {
	width: 125px !important;
}

/*this effects global buttons */
.elementor-button-icon  {
	line-height: 0px;
}

.elementor-button-icon svg {
    width: 1.8em;
}

.elementor-button-content-wrapper {
	align-items: center;
}


.accordion-horizontal-borders .elementor-accordion-item {
	border-top: 1px solid #d5d8dc !important;
    border-bottom: 1px solid #d5d8dc !important;
}

.faq-icon-size .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg {
	width: 2em;
	height: auto;
}

.faq-icon-size .elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left {
	width: 3em;
}

.image-multiply img {
    mix-blend-mode: multiply;
}


/* Button CSS */

.elementor-button .cls-1,
.elementor-button .cls-2 {
    transition: stroke 0.3s ease, fill 0.3s ease;
}

.elementor-button:hover .cls-1 {
	stroke: #f8a221;
}

.elementor-button:hover .cls-2 {
	fill: #231f20;
}

/* this adds a hover effect to the buttons in the smart slider */

.n2-ss-button-container a > div {
	vertical-align: middle !important;
}

.more-button-slider .n2-ss-button-container a::after {
    content: "";
    display: inline-block;
    width: 1.8em;
    height: 1.8em;
    background-image: url('/wp-content/uploads/2024/06/Button-Arrow-Right.svg');
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 16px;
    vertical-align: middle; 
    transition: background-image 0.3s ease;
}

.more-button-slider .n2-ss-button-container a:hover::after {
    background-image: url('/wp-content/uploads/2024/09/Button-Arrow-Right-Hover.svg'); /
}

/* spacing around Slider buttons */

.more-button-slider {
	padding-top: 20px;
}


/*
.elementor-button-text {
	text-decoration: none !important;
}*/

header {
	pointer-events: none;	
}

.enable-pointer {
	pointer-events: auto;
}

#breadcrumbs {
	position: fixed;
    z-index: 502;
    right: 155px;
	text-align: right;
	margin-left: 10%;
    padding: 10px;
    border-radius: 25px;
    background: rgba(255, 255, 255, 0.5);
}

@media only screen and (max-width: 1366px) {
	#breadcrumbs {
		right: 105px;
	}
}

@media only screen and (max-width: 1024px) {
	#breadcrumbs {
		right: 10%;
		margin-top: -25px;
	}
}


#breadcrumbs, #breadcrumbs li, #breadcrumbs a {
	display: inline;
	color: #3E3E3E;
	font-size: 14px;
	font-family: 'proxima-nova';
	text-decoration: none;
}

/********** PRIMARY MENUS **********/

.menu-with-sep .hfe-nav-menu__layout-horizontal > ul > li:not(:last-child)::after {
	content: '|';
	position: absolute;
	top: 52%;
	right: -2px; /* adjust this value to move the separator closer or further from the text */
	transform: translateY(-50%);
	color: #333;
	font-size: 18px; /* adjust size as needed */
}


/* underline on the menus */

.primary-menu .current-page-ancestor a {
	padding-bottom: 2px;
	border-bottom-width: 2px;
    border-bottom-style: solid;
	border-bottom-color: #00725d;	
	color: #00725d !important;
}

.primary-menu .hfe-nav-menu li.menu-item.current_page_item a,
/*.hfe-nav-menu li.menu-item:hover a, */ /* i dont remember why this line was commented out */
.primary-menu .hfe-nav-menu li.menu-item.current_page_ancestor a {
	padding-bottom: 2px;
	border-bottom-width: 2px;
    border-bottom-style: solid;
	border-bottom-color: #00725d;
}

.primary-menu .hfe-nav-menu li.menu-item {
	padding: 0px 15px 0px 15px;
}

/********** TRANSPARENT HEADER - HOME PAGE & SUBSITES **********/

.ehf-header #masthead {
	z-index: 501;
}

.mobile-menu nav {
	z-index: 9999 !important;
	left: -230% !important;
	margin-top: 47px;
}

.mobile-menu .hfe-dropdown {
    max-height: 65vh; /* 80% of the viewport height */
    overflow-y: auto; /* Enables vertical scrolling */
    position: fixed; /* Ensures it stays in place while scrolling */
}

.mobile-menu ul.sub-menu li {
	border-bottom-style: none !important;
}

.mobile-menu ul.sub-menu li a {
	color: #a1ff7f !important;
	padding-top: 10px !important;
}

.mobile-menu ul.sub-menu li:not(:last-child) a {
	padding-bottom: 10px !important;
}

.mobile-menu ul.sub-menu li:last-child a {
	padding-bottom: 20px !important;
}

@media only screen and (max-width: 767px) {
	.mobile-menu nav {
		left: -297% !important;
		margin-top: 20px;
	}
}


.hfe-nav-menu a.hfe-menu-item {
	justify-content: flex-start;
}


/* Logo Divider */

.logo-divider {
	display: none;
}

/* Display OQIP logo only on OQIP pages */
.oqip-logo {
	display: none;
}

.page-id-1260 .logo-divider, .parent-pageid-1260 .logo-divider,
.page-id-1260 .oqip-logo, .parent-pageid-1260 .oqip-logo {
	display: block;
}

@media only screen and (max-width: 768px) {
	.page-id-1260 .logo-divider, .parent-pageid-1260 .logo-divider,
	.page-id-1260 .oqip-logo, .parent-pageid-1260 .oqip-logo {
		display: none;
	}
}

/* Display WORKFORCE logo only on WORKFORCE pages */
.workforce-logo {
	display: none;
}

.page-id-1266 .logo-divider, .parent-pageid-1266 .logo-divider,
.page-id-1266 .workforce-logo, .parent-pageid-1266 .workforce-logo {
	display: block;
}

@media only screen and (max-width: 768px) {
	.page-id-1266 .logo-divider, .parent-pageid-1266 .logo-divider,
	.page-id-1266 .workforce-logo, .parent-pageid-1266 .workforce-logo {
		display: none;
	}
}

/* This moved the mobile menu close button toggle down into the dropdown.
.hfe-nav-menu__toggle.elementor-clickable.hfe-active-menu.hfe-active-menu-full-width {
    transform: translateY(88px);
    z-index: 99999;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.mobile-menu nav {
		margin-top: 37px;
	}
	
	.hfe-nav-menu__toggle.elementor-clickable.hfe-active-menu.hfe-active-menu-full-width {
		transform: translateY(90px);
	}
} */

/* home page is page-id-7 
.page-id-7 .transparent-header {
	margin-top: -291px;
}
*/
/*for the rest of the site 
.transparent-header {
	margin-top: -325px;
}

@media only screen and (max-width: 1024px) {
	.transparent-header {
		margin-top: -199px;
	}
}

@media only screen and (max-width: 767px) {
	.transparent-header {
		margin-top: -186px;
	}
}

*/


/********** SECONDARY MENU **********/

/* .elementor-shortcode > nav.secondary-menu > ul {
	display:inline-block;
} */

.secondary-menu {
	display: none;
	animation: ease-in-out;
	animation-duration: 1s;
}

.secondary-menu.current-menu {
	display: inline-block;
}

.elementor-shortcode > nav.secondary-menu ul li {
	display:inline-block;
	font-family: 'proxima-nova';
}

.elementor-shortcode > nav.secondary-menu ul li a {
	color:#333;
}

.elementor-shortcode > nav.secondary-menu ul li a:hover {
	color:#00725D;
}

.elementor-shortcode nav.secondary-menu {
	/*padding:15px 40px 20px;*/
	padding: 15px 0px 20px 40px;
	border-bottom-left-radius:20px;
	border-bottom-right-radius:20px;
	background:#AAAAAA;
	color:#333;
}

.secondary-menu ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;  /* Makes the menu inline */
    flex-wrap: wrap;  /* Allows the menu to wrap */
	justify-content: flex-end;
	column-gap: 0px;
	row-gap: 5px;
}

.secondary-menu > ul > li:not(.end-of-row)::after {
	content: '|';
	position: relative;
	margin: 0px 14px;
	color: #333;
	font-size: 18px;
}

.secondary-menu > ul > li.end-of-row {
	margin-right: 32px;
}

/*
@media only screen and (max-width: 1472px) {
	.secondary-menu > ul > li:not(.end-of-row)::after {
		margin: 0px 8px;
	}
} */

@media only screen and (max-width: 1024px) {
	.secondary-menu {
		display: none !important;
	}
}

@media only screen and (min-width: 1025px) and (max-width: 1204px) {
	.secondary-menu ul {
		column-gap: 0px;
	}
	
	.secondary-menu li a {
		/* margin-right: 10px !important;  
		margin-left: 10px !important; */
		font-size: 15px !important;
	}
}


.secondary-menu li a {
   /* margin-right: 20px;  
	margin-left: 20px;*/
	font-size: 16px;
	font-family: 'proxima-nova';
}

/*
.secondary-menu li:last-child a {
    margin-right: 0 !important;  /* Removes margin from the last item 
}
*/
/*
.secondary-menu li:first-child a {
    margin-left: 0 !important;   Removes margin from the first item
}
*/

.secondary-menu a {
    text-decoration: none;
    color: #333;
}

.secondary-menu .current_page_item a {
    color: #00725d !important;  /* Active page color */
	padding-bottom: 2px;
	border-bottom-width: 2px;
	border-bottom-style: solid
}

.secondary-menu .menu-item-first a {
	margin-left: 0px !important;
}

/* break-after is used in the php shortcode generating the submenu to manually break the menu into two lines 
 * - should no longer be necessary
.break-after {
    display: block;
    flex-basis: 100%;
    height: 0;
}

*/


/********** POSTS **********/
.dca-posts-breadcrumbs {
	padding: 278px 0px 60px;
	display: flex;
    justify-content: flex-end;
}

.dca-posts-title {
	padding: 0px 0px 0px;
}

.dca-posts-featured-image {
	padding: 40px 0px;
}

/* post list */
.b3-posts-list {
    list-style-type: none;
    padding: 0;
}

.b3-posts-list li {
    margin-bottom: 40px; /* Space between items */
}

.post-date {
    font-weight: bold;
    color: #333;
	font-size: 16px;
}

.b3-posts-list h3 a {
    text-decoration: none;
	font-size: 22px;
}

.b3-posts-list h3 {
	margin: 0px;
}

.b3-posts-list p {
	font-size: 18px;
}


/********** BUTTONS FOR POPUPS **********/

/* ".full-green-buttons" is for a container to target all links within.
 *     it will make all links, such as icon lists and shortcodes used on Safety and Trenchless page,
 *     full width, green background.
 * 
 * ".green-button" is for a specific item like a shortcode that needs to look like the above buttons
 *     but without being full width. One instance is used at top of Government page.
 * 
 */

.full-green-buttons a, .full-green-buttons ul a {
	background-color: #027352;
    padding: 14px 28px;
    border-radius: 25px;
	color: #fff !important;
	font-family: 'proxima-nova';
	text-decoration: none;
	display: block;
	text-align: center;
	font-size: 18px !important;
	text-transform: uppercase;
}

.green-button a {
	background-color: #027352;
    padding: 14px 28px;
    border-radius: 25px;
	color: #fff !important;
	font-family: 'proxima-nova';
	font-size: 18px !important;
	text-decoration: none;
	text-transform: uppercase;
}

/********** VIDEO POPUPS **********/

.yt-video-popup img {
	border-radius: 25px;
}

.yt-video-popup {
    position: relative;
    display: inline-block; /* Adjust this based on your layout needs */
	width: 100%; /* Ensure some width */
    min-height: 100px; /* Ensure some height */
}

.yt-video-popup a {
	z-index: 2;
}

.yt-video-popup a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('https://dcaweb.dev7.barn3s.com/wp-content/uploads/2024/06/Play-Button.svg') no-repeat center center;
	background-size: 100px;
    z-index: 1;
	transition: opacity 0.3s ease;
}

.yt-video-popup a:hover::after {
    opacity: 0.5;
	transition: opacity 0.3s ease;
}

.pp_right, .pp_left, .pp_middle {
	background: none !important;
}

div.pp_default .pp_content, div.light_rounded .pp_content {
	background-color: transparent; !important;
}

div.pp_default .pp_close {
	position: absolute;
    top: -455px;
    left: -35px;
}

.mfp-close:hover {
	background-color: #00000000 !important;
}

/********** SMART SLIDER **********/


div#n2-ss-2 .n2-ss-control-bullet {
	margin-left: 160px;
}


/* puts controls under slider on mobile */

@media only screen and (max-width: 900px) {
	.n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls {
		flex-direction: column-reverse;
		align-items: center;
		margin-top: 100px;
	}
	
	.n2-ss-control-bullet {
		margin-left: 0px !important;
	}
}

/* home hero slider */

.n2_ss__touch_element{
   cursor: default!important;
}

/* adjust the border radius and passing around the transparent textbox on slides */
.slider-overlay-box .n2-ss-layer-row {
	border-radius: 25px 25px 0px 0px;
	padding: 30px 40px 50px 40px !important;
}


@media only screen and (max-width: 797px) {
	.slider-overlay-box:not(.mobile-same) .n2-ss-layer-row {
		background-color: RGBA(0, 0, 0, 0.0) !important;
		padding: 30px !important;
	}
	
	.smartslider-dark-overlay-mobile {
		background-color: rgba(0, 0, 0, 0.2);
	}
}

@media only screen and (max-width: 767px) {
	
}

/* event slider */

.bottom-radius > div:first-of-type {
	border-radius: 0px 0px 25px 25px !important;
}

div#n2-ss-3 .n2-ss-slider-1, div#n2-ss-3 .n2-ss-slider-2 {
	border-radius: 25px !important;
}

.events-slider-overlay-box .n2-ss-layer-row {
	border-radius: 25px;
}



/********** HOME PAGE **********/


/* hide the icon row on home page from footer */ 
.page-id-7 .footer-icon-row {
	display: none;
}

/********** EVENTS **********/

/* Submenu wraps onto two lines - adding extra padding on top of page to give breathing room */
.parent-pageid-1007 .page-content > div > div:nth-child(2), .page-id-1007 .page-content > div > div:nth-child(2) {
	padding-top: 40px;
}

/* plugin css overwrites */

.cl-dca-events .date .day {
	font-size: 62px;
}

.cl-dca-events .date .month {
	font-size: 26px;
}


.cl-dca-events .date {
	padding: 30px 40px;
}

/********** COMMITTEES **********/

/* Submenu wraps onto two lines - adding extra padding on top of page to give breathing room */
.parent-pageid-1081 .page-content > div > div:nth-child(2), .page-id-1081 .page-content > div > div:nth-child(2) {
	padding-top: 40px;
} 



/********** OQIP **********/

/* fix accordion toggle icon posiitons on the OQIP FAQ & Trenchless page */
@media only screen and (max-width: 767px) {
	.elementor-accordion-icon.elementor-accordion-icon-left {
		margin-top: 6px;
	}
}


/********** GOVERNMENT RELATIONS **********/

#gov-relations-logo-slider .swiper-slide-inner {
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.icon-list-icon-right .elementor-icon-list-item,
.icon-list-icon-right .elementor-icon-list-item a {
	flex-direction: row-reverse;
    justify-content: flex-end;
}

.icon-list-icon-right .elementor-icon-list-icon {
	padding-left: 10px;
}

/********** GALLERIES **********/

#gallery-1 img {
	border: none !important;
}

#gallery-1 .gallery-item {
	margin-top: 0px !important;
}

.arrow-list a:after {
    position: relative;
    transform: none;
    top: auto;
    right: auto;
    margin-left: 20px;
    height: 40px;
    background-size: contain;
	content: "";
    display: block;
    width: 25px;
	background: url(/wp-content/uploads/2024/06/arrow-skinny-black.svg) center no-repeat;
}



/********** WORKFORCE **********/

.workforce-tabs ul {
	padding-left: 30px;
}

.workforce-tabs .elementor-tab-title.elementor-active {
	border-top-left-radius: 15px;
	border-bottom-left-radius: 15px;
}

.workforce-tabs .elementor-tabs-content-wrapper {
	border-top-right-radius: 15px;
	border-bottom-right-radius: 15px;
	
}



/********** SEARCH RESULTS PAGE **********/

/* Style for the read more button */
.read-more-btn {
	font-family: 'proxima-nova';
	font-size: 18px;
    display: inline-block;
    background-color: transparent; /* No background */
    color: #008000; /* Green text */
    padding: 0px;
    text-decoration: none;
    margin-top: 10px;
    border: none; /* No border */
}

.read-more-btn:hover {
    color: #004d00; /* Darker green on hover */
}

.read-more-btn .arrow-icon {
    display: inline-block; /* Ensure the span behaves as an inline-block */
    vertical-align: middle; /* Aligns the icon vertically with the text */
    background-image: url('/wp-content/uploads/2024/06/arrow-skinny-black.svg'); /* Path to your arrow image */
    background-size: contain;
    background-repeat: no-repeat;
    width: 16px; /* Width of the arrow image */
    height: 16px; /* Height of the arrow image */
    margin-left: 5px; /* Optional: Adds space between the text and the arrow */
}


/* Spacing between each search result */
.post-separator {
    margin-top: 50px; /* Adjust this value to increase/decrease spacing */
}

/* Styling for the custom excerpt */
.custom-excerpt {
    margin-bottom: 10px;
}

.rounded-imgs img {
	border-radius:15px;
}



/********** RSS FEEDS **********/

.rss-feed-list li {
	margin-bottom:20px;
	padding: 10px 70px 10px 70px;
}

.rss-feed-list a {
	text-decoration:none;
	color:#333;
}

@media only screen and (max-width: 1366px) {
	.rss-feed-list li {
		padding: 10px 30px 10px 30px;
	}
}

@media only screen and (max-width: 767px) {
	.rss-feed-list li {
		padding: 10px 20px 10px 20px;
	}
}


/********** RSS FEEDS **********/

.ldp-table table td {
	border: none;
}

.ldp-table table tr {
	border: 1px solid #cccccc;
}

.table-no-borders table td, .table-no-borders table tr {
	border: none;
}
