/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/
/*************
    GLOBAL
 /*************/
a:focus {
    outline:none !important;
}
p:only-of-type {
  margin-bottom:0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	margin-bottom:0.25em;
}

:is(p, ul) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 1.5em;
}

p a {
	text-decoration:underline !important;
}
/*************
 TRANSITIONS
 /*************/
.hero-cta,
.image-tile img,
.image-container article .image-tile:before,
.image-tile:before{
	transition:all 0.5s ease-in-out;
}
/*************
 HERO CTA
 /*************/

.hero-cta .elementor-widget-container {
	overflow:visible !important;
}


.hero-cta:hover {
	width:calc(33.3333% + 4em) !important;
}

/*************
MISC
 /*************/
.elementor-share-buttons--align-left {
	margin-left:-12px !important;
}
/* .dce-filters {
	padding-left:4em;
	padding-bottom:4em;
} */
.dce-posts-wrapper {
	background:var(--e-global-color-text) !important;
}
.black-bk-white-tx :is(h1, h2, h3, h4, h5, h6, p) {
	color:white !important;
}
/* .e-gallery-item .e-gallery-image {
	filter:sepia(1);
	transition:all 0.3s ease-in-out;
}
.e-gallery-item:hover .e-gallery-image {
	filter:sepia(0);
} */
.sticky-element {
    position: -webkit-sticky;
    position: sticky;
    top: 4em;
    margin-bottom:auto;
}
.elementor-search-form--skin-minimal:focus-within {
    border:0px !important;
    outline: 0 !important;
}
.grecaptcha-badge { 
    visibility: hidden;
}

/*************
 HERO CTA
 /*************/

.hero-img-content:after {
	position:absolute;
	width:100%;
	height:100%;
	content:"";
	background:var(--e-global-color-text);
	opacity:0.85;
	top:0;
	left:0;
	z-index:1;
}
.hero-content-center {
	position: absolute;
    top: 50% !important;
    left: 0 !important;
    padding-left: 4em;
	transform: translate(0, calc(-50% - 2em));
    z-index: 100;
}
.home .hero-content-center {
	pointer-events: none;
	background: url('your_transparent.png');
}
.hero-cta .elementor-cta__bg:after {
	width:100%;
	height:calc(100% + 160px);
	top:-160px;
	left:0;
	content:"";
	position:absolute;
	transition:0.3s all ease-in-out;
	background-image: linear-gradient(180deg, #262B3100 0%, var(--e-global-color-text) 100%);
}
.hero-cta .elementor-cta:hover .elementor-cta__bg:after {
	top:0;
}


/*************
FILTERS
 /*************/
.searchandfilter h4 {
	color:white !important;
	margin-top: 4em;
    margin-bottom: 2em;
    border-bottom: 1px solid white;
    padding-bottom: 1em;
}
.searchandfilter ul {
    display: flex;
	flex-wrap:wrap;
	padding:0;
}
.searchandfilter ul li.sf-field-category {
	width:100%;
	padding:0px !important;
	margin:0px !important;
}
.searchandfilter ul li.sf-field-category ul {
	margin-left:-1.5em !important;
}
.searchandfilter ul li li {
	display:flex;
	justify-content:center;
	text-align:center;
}

.searchandfilter input[type="radio"] {
    opacity: 0;
    position: fixed;
    width: 0;
}

.searchandfilter label {
	width:100%;
    display: flex;
	justify-content: center;
    align-items: center;
    color: var(--e-global-color-secondary);
    padding: 1em 1.5em !important;
	margin:0;
    transition: all 0.3s;
    cursor: pointer;
	font-size:20px;
	text-transform:uppercase;
	border-left: 0px;
}
.searchandfilter input[type="radio"]:checked+label {
    color: white;
}

.searchandfilter input[type="radio"]:focus+label {
    border: 1px solid rgab(255,255,255,0);
}

.searchandfilter label:hover {
    color: white;
}



/*************
 IMAGE TILES
 /*************/
.image-container {
	display: flex;
    flex-wrap: wrap;	
}

.image-container a {
    width: 50% !important;
    display: flex;
    min-height: 500px;
    padding: 2em;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    flex-direction: column;
    justify-content: flex-end;
}
.image-container.news a {
	width: 25% !important;
}
.image-container a > .elementor {
	width:100%
}
.image-tile {
	flex-direction:column;
	position:relative;
	overflow:hidden;

}
.image-tile h3,
.image-tile p{
	color:white !important;
	z-index:1;
}
.image-tile h4,
.image-tile p{
	color:var(--e-global-color-secondary) !important;
}
.image-tile p {
	font-size:14px;
	margin-top:1em;
}
.image-tile:before {
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	content:"";
	background-image: linear-gradient(180deg, #262B3100 0%, var(--e-global-color-text) 100%);
}
/* .image-container article:hover .image-tile {
	background-size:200%;
} */
/* .image-container article:hover .image-tile {
	transform:scale(1.1);
}
.image-container article:hover .image-tile > * {
	transform:scale(1);
} */
.image-tile__sub-title,
.hero-cta .elementor-cta__title,
.service-cta .elementor-cta__title{
	position:relative;
	padding-top:160px;
}

.image-tile__sub-title:before,
.hero-cta .elementor-cta__title:before,
.service-cta .elementor-cta__title:before{
	position:absolute;
	height:150px;
	width:1px;
	background: var(--e-global-color-secondary);
	content:"";
	left:0px;
	top:-10px;
}
.image-container article {
	overflow:hidden !important;
}
.image-container article .image-tile:before,
.image-tile:before{
	height:calc(100% + 160px);
	top:0;
}
.image-container article:hover .image-tile:before,
.image-tile:hover:before{
	top:-160px;
}
/*************
 FORM STYLING
 /*************/
.elementor-field-group:not(.elementor-field-type-acceptance) {
  position:relative;
}
.elementor-field-group:not(.elementor-field-type-acceptance) label{
	position:absolute;
	font-size:12px;
	visibility:hidden;
	opacity:0;
	transition:all 0.3s;
	top:1em;
	left:2em;
	color:white !important;
}
.elementor-field-group.active label{
	visibility:visible;
	opacity:1;
	top:0;
}
.elementor-field-group.elementor-field-type-acceptance label {
	display:none;
}
.elementor-field-group.elementor-field-type-acceptance label a {
	text-decoration:underline;
}

#contact_form .elementor-field-type-acceptance label {
	font-size:14px;
}
.searchandfilter [type="checkbox"]:not(:checked),
.searchandfilter [type="checkbox"]:checked,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:not(:checked),
#contact_form .elementor-field-type-acceptance [type="checkbox"]:checked{
    position: absolute;
    left: 0;
    opacity: 0.01;
  }
.searchandfilter [type="checkbox"]:not(:checked) + label,
.searchandfilter [type="checkbox"]:checked + label,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:not(:checked) + label,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:checked + label {
    position: relative;
    line-height: 1.4;
    cursor: pointer;
    padding-left:2em;
	display:block;
  }

  /* checkbox aspect */
.searchandfilter [type="checkbox"]:not(:checked) + label:before,
.searchandfilter [type="checkbox"]:checked + label:before,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:not(:checked) + label:before,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:checked + label:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border: 1px solid var(--e-global-color-secondary);
    background: transparent;
    border-radius: 0em;
    box-shadow: none;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

/* checked mark aspect */
.searchandfilter [type="checkbox"]:not(:checked) + label:after,
.searchandfilter [type="checkbox"]:checked + label:after,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:not(:checked) + label:after,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:checked + label:after{
    width:14px;
    height:14px;
    top:3px;
    left:3px;
    position:absolute;
    content:"";
    background:var( --e-global-color-secondary);
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

  /* checked mark aspect changes */
.searchandfilter [type="checkbox"]:not(:checked) + label:after,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:not(:checked) + label:after{
    opacity: 0;
    -webkit-transform: scale(0) rotate(0deg);
    transform: scale(0) rotate(0deg);
}

.searchandfilter [type="checkbox"]:checked + label:after,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:checked + label:after{
    opacity: 1;
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
}

  /* Disabled checkbox */
.searchandfilter [type="checkbox"]:disabled:not(:checked) + label:before,
.searchandfilter [type="checkbox"]:disabled:checked + label:before,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:disabled:not(:checked) + label:before,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:disabled:checked + label:before{
    box-shadow: none;
    border-color: #bbb;
    background-color: #e9e9e9;
}

.searchandfilter [type="checkbox"]:disabled:checked + label:after,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:disabled:checked + label:after{
    color: #777;
}

.searchandfilter [type="checkbox"]:disabled + label,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:disabled + label{
    color: #aaa;
}

  /* Accessibility */
.searchandfilter [type="checkbox"]:checked:focus + label:before,
.searchandfilter [type="checkbox"]:not(:checked):focus + label:before,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:checked:focus + label:before,
#contact_form .elementor-field-type-acceptance [type="checkbox"]:not(:checked):focus + label:before{
    box-shadow: inset 0 0 0 rgba(0,0,0,0);
}

#contact_form [type="submit"]:hover {
    border-color:  var(--e-global-color-primary) !important;
}

.elementor-message-success {
    width: 100%;
    padding: 1em;
    background: green;
    color: white;
}
/*************
 FOOTER
 /*************/
.small_print,
.small_print a{
    color:rgba(255,255,255,0.5);
    font-size:14px;
}
footer a:hover,
.small_print a:hover {
    color:rgba(255,255,255,0.5);
    text-decoration:underline !important;
}
.elementor-icon-list-item a:hover {
	text-decoration:none !important;
}
.small_print ul, .small_print li {
    display:inline;
    position:relative;
}
.small_print ul {
    margin:0;
    padding:0;
}
.small_print li {
    margin-right:1em;
}
.small_print li:after {
    position: absolute;
    height: 12px;
    width: 1px;
    background: rgba(255,255,255,0.5);
    content: "";
    display: block;
    right: -0.6em;
    top: 3px;
}
@media all and (max-width: 1024px) {
	.hero-content-center {
		padding:0;
		position: relative !important;
		transform: translate(0, 0);
		margin-bottom: -2em;
	}
	.image-container.news a {
		width: 50% !important;
	}
}
@media all and (max-width: 768px) {
    .small_print ul {
        flex-direction:column;
        margin-bottom:1em;
    }
    .small_print li:after {
        display:none;
    }
	.no-mob {
		display:none;
	}
	.hero-cta,
	.hero-cta .elementor-cta{
		position:relative !important;
		right:auto !important;
		display:block !important;
		width:100% !important;
	}
	.hero-cta:hover {
		width:100% !important;
	}
	.image-container a,
	.image-container.news a {
		width:100% !important;
	}
	    
}