/*
 Theme Name:   Hello Elementor Child - TerraEarth
 description: >- A custom child theme created for TerraEarth
 Author:       Nicole King on behalf of Platform Communications
 Template:     hello-elementor
 Version:      1.0.0
*/


/* Improved animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}


/* Section padding */

.e-con.py-default>.e-con-inner, .e-con-full.py-default {
    padding-block-start: 100px;
	padding-block-end: 100px;
	padding-left: 30px;
	padding-right: 30px;
}

.e-con.py-0>.e-con-inner, .e-con-full.py-0 {
	padding-block-start: 0px!important;
	padding-block-end: 0px!important;
}

.e-con.pt-0>.e-con-inner, .e-con-full.pt-0 {
	padding-block-start: 0px!important;
}

.e-con.pt-md>.e-con-inner, .e-con-full.pt-md {
    padding-block-end: 70px;
}

.e-con.pb-md>.e-con-inner, .e-con-full.pb-md {
    padding-block-end: 70px;
}

.e-con.pt-sm>.e-con-inner, .e-con-full.pt-sm {
    padding-block-start: 50px;
}

.e-con.pb-sm>.e-con-inner, .e-con-full.pb-sm {
    padding-block-end: 50px;
}

.e-con.py-default.pt-header-offset>.e-con-inner, .e-con-full.py-default.pt-header-offset {
	padding-block-start: 200px;
}


@media (max-width: 1024px) {
	.e-con.py-default>.e-con-inner, .e-con-full.py-default {
        padding-block-start: 70px;
        padding-block-end: 70px;
		padding-left: 20px;
		padding-right: 20px;
    }
	
	.e-con.py-default.pt-header-offset>.e-con-inner, .e-con-full.py-default.pt-header-offset {
		padding-block-start: 200px;
	}
	
	.e-con.pt-sm>.e-con-inner, .e-con-full.pt-sm {
		padding-block-start: 30px;
	}
}

@media (max-width: 767px) {
    .e-con.py-default>.e-con-inner, .e-con-full.py-default {
        padding-block-start: 60px;
        padding-block-end: 60px;
		padding-left: 5px;
		padding-right: 5px;
    }
	
	.e-con.py-default.pt-header-offset>.e-con-inner, .e-con-full.py-default.pt-header-offset {
		padding-block-start: 180px;
	}
	
	.e-con.pb-md>.e-con-inner, .e-con-full.pb-md {
		padding-block-end: 40px;
	}
	
	.e-con.pt-sm>.e-con-inner, .e-con-full.pt-sm {
		padding-block-start: 20px;
	}
	
	.e-con.pb-sm>.e-con-inner, .e-con-full.pb-sm {
		padding-block-end: 20px;
	}
	
}

/*.e-con.py-sm>.e-con-inner {
    padding-top: 50px;
	padding-bottom: 50px;
	padding-left: 10px;
	padding-right: 10px;
}

.e-con.pt-sm>.e-con-inner {
    padding-top: 50px;
}

.e-con.pb-sm>.e-con-inner, .e-con-full.pb-sm {
    padding-bottom: 50px;
}

.e-con.pt-0>.e-con-inner, .e-con-full.pt-0 {
     padding-top: 0px!important;
}

.e-con.pb-0>.e-con-inner, .e-con-full.pb-0 {
     padding-bottom: 0px!important;
}

.e-con-full.pr-0 {
     padding-right: 0px!important;
}

.e-con-full.pl-0 {
     padding-left: 0px!important;
}


@media (max-width: 1024px) {
	
    .e-con.py-default>.e-con-inner, .e-con-full.py-default {
        padding-block-start: 70px;
        padding-block-end: 70px;
    }
    .e-con.pb-small>.e-con-inner {
        padding-bottom: 40px;
    }
    .e-con.py-small>.e-con-inner {
        padding: 40px 10px;
    }
	
}

@media (max-width: 767px) {
	
    .e-con.py-default>.e-con-inner, .e-con-full.py-default {
        padding-block-start: 50px;
        padding-block-end: 50px;
    }
	
    .e-con.pb-small>.e-con-inner {
        padding-bottom: 20px;
    }
	
    .e-con.py-small>.e-con-inner {
        padding: 40px 10px;
    }
	
	
	.e-con.pt-xs-sm>.e-con-inner, .e-con-full.pt-xs-sm {
		padding-top: 40px!important;
	}
	
	.e-con.pt-xs-0>.e-con-inner, .e-con-full.pt-xs-0 {
		padding-top: 0px!important;
	}
}
*/

/* Miscellaneous */

.visible-xs {
	display: none!important;
}

@media (max-width: 767px) {
	
	.hidden-xs {
		display: none!important;
	}
	
	.visible-xs {
		display: block!important;
	}
	
}

/* Text editor fudges */

.elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

.elementor-widget-text-editor ol {
	padding-left: 20px;
}

.elementor-widget-text-editor ol li {
	padding-left: 10px;
}

.elementor-widget-text-editor ul + p, .elementor-widget-text-editor ol + p, .elementor-widget-text-editor p + ul, .elementor-widget-text-editor p + ol, .elementor-widget-text-editor h5 + ul {
     margin-top: 25px;
}

.elementor-widget-text-editor p + h2, .elementor-widget-text-editor p + h3, .elementor-widget-text-editor ul + h2, .elementor-widget-text-editor ul + h3, .elementor-widget-text-editor h2 + h3, .elementor-widget-text-editor ul + h5  {
    margin-top: 35px;
}

.elementor-widget-text-editor ul {
	list-style: none!important;
	padding-left: 0!important;
	margin-bottom: 0;
	margin-left: 0;
}

.elementor-widget-text-editor ul li {
	position: relative;
	padding-left: 28px;
}
	
.elementor-widget-text-editor ul li + li {
	margin-top: 18px;
}
	
.elementor-widget-text-editor ul li:before {
	content: "";
	background-color: #E3CFC3;
	width: 6px;
	height: 6px;
	display: block;
	margin: 0;
	top: 7px;
	position: absolute;
	left: 0;
}

.elementor-widget-text-editor li ul {
	margin-top: 18px;
	margin-bottom: 25px;
}

.elementor-widget-text-editor ul ul li:before {
	background-color: transparent;
	border: 1px solid #E3CFC3;
}

.elementor-widget-text-editor strong {
	font-weight: 600;
}




/* Mobile menu */

.jet-mobile-menu-cover {
	background: transparent;
}

.jet-mobile-menu__container {
	border-top: 1px solid #f0ebeb;
}

/*.jet-mobile-menu__instance--slide-out-layout .jet-mobile-menu__container {
	top: 70px;
}

body.admin-bar[data-elementor-device-mode=mobile] .jet-mobile-menu__instance--slide-out-layout .jet-mobile-menu__container {
    top: 70px;
    height: calc(100vh - 70px);
}*/

.jet-mobile-menu__controls {
	min-height: 0;
	background-color: var(--e-global-color-7b4684f);
	font-weight: 500;
}

.jet-mobile-menu__breadcrumbs {
	margin: 15px 25px;
}

.jet-mobile-menu__back, .jet-dropdown-arrow {
	margin-right: 20px;
}

.jet-mobile-menu__back[aria-label="Close Menu"] {
	display: none;
}

.jet-mobile-menu__items {
	margin-top: 5px;
}

.jet-mobile-menu__container-inner {
	padding: 20px 10px;
}

.jet-mobile-menu__item + .jet-mobile-menu__item {
	border-top: 1px solid #f0ebeb;
}

.jet-mobile-menu__item a {
	padding: 5px 25px;
	flex-grow: 1;
}

.elementor-nav-menu--main .sub-menu, .elementor-nav-menu--main .has-submenu .sub-arrow {
	display: none!important;
}
.jet-mobile-menu__back svg:not([width]) {
	min-width: 0;
}

.jet-mobile-menu__item--active .mobile-link {
	position:relative;
	padding-left: 45px;
	font-weight: 600;
}

.jet-mobile-menu__item--active .mobile-link:before {
	content: "";
	position:absolute;
	display: block;
	left: 25px;
	top:0;
	width: 2px;
	height: 100%;
	background-color: var(--e-global-color-accent);
}



/* TerraEarth */
.click-through .icon-arrow  {
	opacity:0;
	transition: all .3s;
}

.jet-engine-listing-overlay-wrap[data-url]:hover .click-through .icon-arrow  {
	opacity:1;
}

.click-through .click-through-content-conainer {
	transition: all .3s;
}

.jet-engine-listing-overlay-wrap[data-url]:hover .click-through .click-through-content-conainer {
	background-color: #fff9f4;
	box-shadow: 0px 3px 33px rgba(0, 0, 0, 0.05);
}

.click-through .img-featured img {
	transform: translate3d(0px, 0px, 0px) scale3d(1.03, 1.03, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
	transition: all .3s;
}

.click-through .img-featured .elementor-widget-container {
	overflow: hidden;
	width: 100%;
	border-radius: 10px;
}

.click-through .click-through-content-conainer .elementor-widget-text-editor .elementor-widget-container {
	display: -webkit-box;
  	-webkit-box-orient: vertical;
  	-webkit-line-clamp: 3;
  	overflow: hidden;
}

@media (min-width: 768px) {
	.jet-listing-dynamic-post-76 .click-through .click-through-content-conainer .elementor-widget-text-editor .elementor-widget-container,  .jet-listing-dynamic-post-93 .click-through .click-through-content-conainer .elementor-widget-text-editor .elementor-widget-container {
		-webkit-line-clamp: 2;
	}
}

.jet-engine-listing-overlay-wrap[data-url]:hover .click-through .img-featured img {
	transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
}

.icon-box-heading .elementor-icon-box-icon .elementor-icon svg {
	transform: rotate(-130deg);
    margin-top: -11px;
}

@media (max-width: 767px) {
	.icon-box-heading .elementor-icon-box-icon .elementor-icon svg {
		margin-top: 5px;
	}
}

/* Services Navigation */

.listing-service-navigation .jet-listing-grid__item:first-child .e-con {
	border:none!important;
}

.listing-service-navigation .elementor-element .elementor-widget-container {
	transition: all .3s;
}

.listing-service-navigation .elementor-element.menu-current .elementor-widget-container {
	border-color: var( --e-global-color-accent )!important;
	padding-left: 20px!important;
}

.listing-service-navigation .elementor-element.menu-current .elementor-widget-heading .elementor-heading-title {
	color: var( --e-global-color-primary );
	font-weight: 600;
}

.listing-service-navigation .jet-engine-listing-overlay-wrap[data-url]:hover .elementor-element .elementor-widget-container {
	border-color: #E5E5E5!important;
	padding-left: 20px;
}

@media (max-width: 1024px) {
	#sidebar {
		box-shadow: none;
	}
}



/* Services Gallery */
.jet-engine-gallery-grid__item-wrap {
	border-radius: 10px;
	overflow: hidden;
}

.jet-engine-gallery-grid__item-wrap:after {
	mix-blend-mode: initial;
    transition-duration: 800ms;
    transition-property: mix-blend-mode, transform, opacity, background-color;
}

.jet-engine-gallery-grid__item-wrap:hover:after {
	background-color: rgba(0, 0, 0, 0.5);
}

.elementor-lightbox .swiper .elementor-swiper-button {
	position: absolute;
    top: 0;
    z-index: 100;
}

.elementor-lightbox .swiper .elementor-swiper-button svg {
	width: 25px;
}


/* Header */

header .elementor-icon.elementor-social-icon {
	font-size: 19px;
}

.front-page header {
	background: transparent!important;
}

.front-page header .elementor-nav-menu--main .elementor-item:hover:after {
	background-color: #fff!important;
}

.front-page header .elementor-nav-menu--main .elementor-item.elementor-item-active:after {
	background-color: #FFFFFF1A!important;
}

header .elementor-nav-menu--main .current-menu-item .elementor-item:after {
	background-color: #fff!important;
	width: 100% !important;
    opacity: 1 !important;
    left: 0 !important;
}


/* Button with arrow */

.elementor-widget-button.btn-arrow .elementor-button-link {
   padding-right: 45px!important;
	position:relative;
}

.elementor-widget-button.btn-arrow .elementor-button-link .elementor-button-icon {
    transition: all .3s;
    position: absolute;
    right: 23px;
    width:10px;
    top:calc(50% - 5px);
}

.elementor-widget-button.btn-arrow .elementor-button-link:hover .elementor-button-icon {
	right: 20px;
	top:calc(50% - 8px);
}

.elementor-widget-button.btn-arrow .elementor-button-link:hover .elementor-button-icon svg {
    fill:#00000000!important;
}

.elementor-widget-button .btn-arrow .elementor-button-link .elementor-button-icon svg path {
    stroke:#fff;
}

@media (max-width: 1024px) {
	
	.elementor-widget-button.btn-arrow .elementor-button-link {
   		padding-right: 38px!important;
	}
	
	.elementor-widget-button.btn-arrow .elementor-button-link .elementor-button-icon {
		right: 18px;
	}
	
	.elementor-widget-button.btn-arrow .elementor-button-link:hover .elementor-button-icon {
		right: 15px;
	}
}

/* Breadcrumbs */

.breadcrumbs .elementor-icon-list-icon svg {
	width:9px!important;
	height:9px!important;
}

.breadcrumbs.elementor-widget .elementor-icon-list-items.elementor-inline-items {
	flex-wrap: nowrap!important;
}

#breadcrumbs .breadcrumb_separator {
	font-size: 16px;
	padding: 4px;
}

#breadcrumbs .breadcrumb_separator svg {
	fill: var(--e-global-color-45deced);
	width: 9px;
	height: 9px;
}

.services-template-default #breadcrumbs span span:nth-last-child(2), .services-template-default #breadcrumbs .breadcrumb_last {
	display: none;
}

/* Footer */
footer .elementor-nav-menu {
    display: grid;
	grid-template-columns: 38% 30% 22%;
    gap: 0 33px;
}

/* Forms */
@media (max-width: 767px) {

	.elementor-form-fields-wrapper {
		margin-left: 0!important;
		margin-right: 0!important;
	}

	.elementor-field-group {
		padding-right: 0!important;
		padding-left: 0!important;
	}
	
}



