/* 
Theme Name: iCreate Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor child theme created by iCreate for your website.
Author: iCreate
Author URI: https://icreate.agency/
Template: hello-elementor
Version: 1.6.2
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
*/


:root {
    --v-space: 20px;
    --h-space: 30px;
    --h-space-half: 15px;
	
	--list-indent: 40px;
	--list-spacing: .25em;
}

.e-con {
    --col-1:  calc(100% * (1 / 12));
    --col-2:  calc(100% * (2 / 12));
    --col-3:  calc(100% * (3 / 12));
    --col-4:  calc(100% * (4 / 12));
    --col-5:  calc(100% * (5 / 12));
    --col-6:  calc(100% * (6 / 12));
    --col-7:  calc(100% * (7 / 12));
    --col-8:  calc(100% * (8 / 12));
    --col-9:  calc(100% * (9 / 12));
    --col-10: calc(100% * (10 / 12));
    --col-11: calc(100% * (11 / 12));
    --col-12: 100%;
    --col-width-1:  calc(var(--container-max-width) * (1 / 12));
    --col-width-2:  calc(var(--container-max-width) * (2 / 12));
    --col-width-3:  calc(var(--container-max-width) * (3 / 12));
    --col-width-4:  calc(var(--container-max-width) * (4 / 12));
    --col-width-5:  calc(var(--container-max-width) * (5 / 12));
    --col-width-6:  calc(var(--container-max-width) * (6 / 12));
    --col-width-7:  calc(var(--container-max-width) * (7 / 12));
    --col-width-8:  calc(var(--container-max-width) * (8 / 12));
    --col-width-9:  calc(var(--container-max-width) * (9 / 12));
    --col-width-10: calc(var(--container-max-width) * (10 / 12));
    --col-width-11: calc(var(--container-max-width) * (11 / 12));
    --col-width-12: var(--container-max-width);
	
    --boxed-large: var(--col-width-10);
    --boxed-medium: var(--col-width-8);
    --boxed-small: var(--col-width-6);
    --boxed-x-small: var(--col-width-4);
}


/* Show elements with fade-in applied when inside the editor */
.elementor-editor-active .elementor-invisible,
.elementor-editor-preview .elementor-invisible {
	visibility: visible !important;
	opacity: 1 !important;
}


/*********************************
TYPOGRAPHY
**********************************/

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: var(--v-space);
}

a.elementor-button:hover {
    text-decoration: none;
}

ul, ol {
	padding-inline-start: var(--list-indent);
}

li + li {
	margin-block-start: var(--list-spacing);
}

.mce-content-body ul,
.mce-content-body ol,
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
    margin-bottom: var(--v-space);
}

.mce-content-body > *:last-child,
.elementor-widget-text-editor .elementor-widget-container > *:last-child,
.elementor-widget-text-editor .elementor-text-editor > *:last-child,
.elementor-widget-theme-post-content > .elementor-widget-container > *:last-child {
    margin-bottom: 0;
}

p.elementor-heading-title {
	margin-bottom: 0;
}

.text-balance {
	text-wrap: balance;
}

/* Post content spacing flow */
.mce-content-body > * + *,
.flow-content:not(:has([data-elementor-type="wp-post"])) > .elementor-widget-container > * + * {
	margin-block-start: var(--flow-space, 1.25em);
}


/*********************************
LIST ICONS
**********************************/

.custom-list-styling-active {
	/* "Private" variables */
	--_list-indent: var(--list-indent, 40px);
	--_list-spacing: var(--list-spacing, .25em);
	--_icon-size: var(--icon-size, 1em);
	--_icon-space: var(--icon-space, 20px);
}
.custom-list-styling-active ul,
.custom-list-styling-active ol {
	padding-left: var(--_list-indent);
}
.custom-list-styling-active ul:has(.list-icon) {
	list-style: none;
}
.custom-list-styling-active li {
	position: relative;
}
.custom-list-styling-active li + li {
	margin-top: var(--_list-spacing);
}
.custom-list-styling-active ul .list-icon {
	display: inline-block;
	position: absolute;
	margin-left: calc(var(--_icon-space) * -1);
	text-align: center;
	transform: translateX(-100%);
}
.custom-list-styling-active ul .list-icon i {
	font-size: var(--_icon-size);
	vertical-align: middle;
}
/* not supported on ordered lists */
.custom-list-styling-active ol .list-icon {
	display: none;
}


/*********************************
BUTTONS
**********************************/

.elementor-element.elementor-button-info .elementor-button {
	color: var(--e-global-color-accent);
	background-color: transparent;
}
.elementor-element.elementor-button-info .elementor-button:hover {
	color: var(--e-global-color-da4f875);
	background-color: var(--e-global-color-accent);
}
.elementor-element.elementor-button-success .elementor-button {
	background-color: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
}
.elementor-element.elementor-button-success .elementor-button:hover {
	color: var(--e-global-color-primary);
	background-color: transparent;
}
.elementor-element.elementor-button-warning .elementor-button {
	color: var(--e-global-color-primary);
	background-color: transparent;
	border-color: var(--e-global-color-primary);
}
.elementor-element.elementor-button-warning .elementor-button:hover {
	color: var(--e-global-color-da4f875);
	background-color: var(--e-global-color-primary);
}
.elementor-element.elementor-button-danger .elementor-button {
	color: var(--e-global-color-text);
	background-color: var(--e-global-color-da4f875);
	border-color: var(--e-global-color-da4f875);
}
.elementor-element.elementor-button-danger .elementor-button:hover {
	color: var(--e-global-color-da4f875);
	background-color: var(--e-global-color-accent);
	border-color: var(--e-global-color-accent);
}


/*********************************
CONTAINERS
**********************************/

.base-container,
.no-gaps {
	--gap: 0px 0px;
	--row-gap: 0px;
	--column-gap: 0px;
}
.row-container {
	--gap: 0px 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
}

.no-padding {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
}
.no-top-btm-padding {
	--padding-top: 0;
	--padding-bottom: 0;
}
.no-top-padding {
	--padding-top: 0;
}
.no-btm-padding {
	--padding-bottom: 0;
}
.no-left-right-padding {
	--padding-left: 0;
	--padding-right: 0;
}
.no-left-padding {
	--padding-left: 0;
}
.no-right-padding {
	--padding-right: 0;
}


/*********************************
COLUMNS
**********************************/

.site-width-1  { --width: min(var(--col-1),  var(--col-width-1)); }
.site-width-2  { --width: min(var(--col-2),  var(--col-width-2)); }
.site-width-3  { --width: min(var(--col-3),  var(--col-width-3)); }
.site-width-4  { --width: min(var(--col-4),  var(--col-width-4)); }
.site-width-5  { --width: min(var(--col-5),  var(--col-width-5)); }
.site-width-6  { --width: min(var(--col-6),  var(--col-width-6)); }
.site-width-7  { --width: min(var(--col-7),  var(--col-width-7)); }
.site-width-8  { --width: min(var(--col-8),  var(--col-width-8)); }
.site-width-9  { --width: min(var(--col-9),  var(--col-width-9)); }
.site-width-10 { --width: min(var(--col-10), var(--col-width-10)); }
.site-width-11 { --width: min(var(--col-11), var(--col-width-11)); }
.site-width-12 { --width: min(var(--col-12), var(--col-width-12)); }

/* stretch-width-* creates a column that lines up with grid *and* stretches to edge of screen.
 * - You only want to use it inside a full width section. */
.stretch-width-1  { --width: max(var(--col-1),  (50% - var(--col-width-5))); }
.stretch-width-2  { --width: max(var(--col-2),  (50% - var(--col-width-4))); }
.stretch-width-3  { --width: max(var(--col-3),  (50% - var(--col-width-3))); }
.stretch-width-4  { --width: max(var(--col-4),  (50% - var(--col-width-2))); }
.stretch-width-5  { --width: max(var(--col-5),  (50% - var(--col-width-1))); }
.stretch-width-6  { --width: min(var(--col-6),   50%); }
.stretch-width-7  { --width: min(var(--col-7),  (50% + var(--col-width-1))); }
.stretch-width-8  { --width: min(var(--col-8),  (50% + var(--col-width-2))); }
.stretch-width-9  { --width: min(var(--col-9),  (50% + var(--col-width-3))); }
.stretch-width-10 { --width: min(var(--col-10), (50% + var(--col-width-4))); }
.stretch-width-11 { --width: min(var(--col-11), (50% + var(--col-width-5))); }
.stretch-width-12 { --width: min(var(--col-12), (50% + var(--col-width-6))); }

/* Adds a margin to a side of a column to create space */
.col-pad-left,
.col-pad-left-1  { --margin-left:  min(var(--col-1), var(--col-width-1)); }
.col-pad-right,
.col-pad-right-1 { --margin-right: min(var(--col-1), var(--col-width-1)); }
.col-pad-left-2  { --margin-left:  min(var(--col-2), var(--col-width-2)); }
.col-pad-right-2 { --margin-right: min(var(--col-2), var(--col-width-2)); }


/*
Classes for columns with image/media
- stretch-left/right: for media that needs to touch edge of screen (fits *inside* content area on mobile)
- filled-left/right: for media that needs to fill the whole column height (touches both edges on mobile)
*/

.stretch-left > .elementor-widget-container,
.filled-left > .elementor-widget-container {
	margin-left: calc(var(--h-space-half) * -1);
}
.stretch-right > .elementor-widget-container,
.filled-right > .elementor-widget-container {
	margin-right: calc(var(--h-space-half) * -1);
}

.filled-left,
.filled-left > .elementor-widget-container,
.filled-left > .elementor-widget-container > a,
.filled-right,
.filled-right > .elementor-widget-container,
.filled-right > .elementor-widget-container > a {
	height: 100%;
}
.filled-left > .elementor-widget-container img,
.filled-right > .elementor-widget-container img {
	min-height: 100%;
	object-fit: cover;
	object-position: center;
}

[class*="site-width-"]:has(.filled-left),
[class*="stretch-width-"]:has(.filled-left) {
	--padding-left: 0;
}
[class*="site-width-"]:has(.filled-right),
[class*="stretch-width-"]:has(.filled-right) {
	--padding-right: 0;
}

@media (min-width: 768px) {
	[class*="site-width-"]:has(.stretch-left),
	[class*="stretch-width-"]:has(.stretch-left) {
		--padding-left: 0;
	}
	[class*="site-width-"]:has(.stretch-right),
	[class*="stretch-width-"]:has(.stretch-right) {
		--padding-right: 0;
	}
}

@media (max-width: 767px) {
	[class*="site-width-"]:has(.filled-left),
	[class*="stretch-width-"]:has(.filled-left) {
		--padding-right: 0;
	}
	[class*="site-width-"]:has(.filled-right),
	[class*="stretch-width-"]:has(.filled-right) {
		--padding-left: 0;
	}
}

@media (max-width: 767px) {
	.stretch-left > .elementor-widget-container {
		margin-left: 0;
	}
	.stretch-right > .elementor-widget-container {
		margin-right: 0;
	}
	.filled-left > .elementor-widget-container {
		margin-right: calc(var(--h-space-half) * -1);
	}
	.filled-right > .elementor-widget-container {
		margin-left: calc(var(--h-space-half) * -1);
	}
}


/*********************************
IMAGES/MEDIA
**********************************/

.elementor-widget-jet-inline-svg .jet-inline-svg,
.elementor-widget-icon .elementor-icon {
    vertical-align: middle;
}

.icon-dynamic-size .elementor-icon svg {
    height: 1em;
    width: auto;
}

.elementor-widget-image.full-height-image,
.elementor-widget-image.full-height-image .elementor-widget-container,
.elementor-widget-image.full-height-image .elementor-widget-container > a,
.elementor-widget-image-carousel.full-height-image,
.elementor-widget-image-carousel.full-height-image .elementor-widget-container,
.elementor-widget-image-carousel.full-height-image .swiper,
.elementor-widget-image-carousel.full-height-image .swiper-wrapper,
.elementor-widget-image-carousel.full-height-image .swiper-slide,
.elementor-widget-image-carousel.full-height-image .swiper-slide-inner {
    height: 100%;
}
.elementor-widget-image.full-height-image .elementor-widget-container img,
.elementor-widget-image-carousel.full-height-image .swiper-slide img {
    min-height: 100%;
    object-fit: cover;
    object-position: center;
}


[class*="image-aspect-"] img {
	display: block;
    object-fit: cover;
}
.elementor-widget-image.image-aspect-1-1  .elementor-widget-container img { aspect-ratio: 1; }
.elementor-widget-image.image-aspect-4-3  .elementor-widget-container img { aspect-ratio: 4/3; }
.elementor-widget-image.image-aspect-3-2  .elementor-widget-container img { aspect-ratio: 3/2; }
.elementor-widget-image.image-aspect-5-3  .elementor-widget-container img { aspect-ratio: 5/3; }
.elementor-widget-image.image-aspect-5-4  .elementor-widget-container img { aspect-ratio: 5/4; }
.elementor-widget-image.image-aspect-16-9 .elementor-widget-container img { aspect-ratio: 16/9; }
.elementor-widget-image.image-aspect-3-4  .elementor-widget-container img { aspect-ratio: 3/4; }
.elementor-widget-image.image-aspect-2-3  .elementor-widget-container img { aspect-ratio: 2/3; }
.elementor-widget-image.image-aspect-3-5  .elementor-widget-container img { aspect-ratio: 3/5; }
.elementor-widget-image.image-aspect-4-5  .elementor-widget-container img { aspect-ratio: 4/5; }
.elementor-widget-image-carousel.image-aspect-1-1  .swiper-slide-inner img { aspect-ratio: 1/1; }
.elementor-widget-image-carousel.image-aspect-4-3  .swiper-slide-inner img { aspect-ratio: 4/3; }
.elementor-widget-image-carousel.image-aspect-3-2  .swiper-slide-inner img { aspect-ratio: 3/2; }
.elementor-widget-image-carousel.image-aspect-5-3  .swiper-slide-inner img { aspect-ratio: 5/3; }
.elementor-widget-image-carousel.image-aspect-5-4  .swiper-slide-inner img { aspect-ratio: 5/4; }
.elementor-widget-image-carousel.image-aspect-16-9 .swiper-slide-inner img { aspect-ratio: 16/9; }
.elementor-widget-image-carousel.image-aspect-3-4  .swiper-slide-inner img { aspect-ratio: 3/4; }
.elementor-widget-image-carousel.image-aspect-2-3  .swiper-slide-inner img { aspect-ratio: 2/3; }
.elementor-widget-image-carousel.image-aspect-3-5  .swiper-slide-inner img { aspect-ratio: 3/5; }
.elementor-widget-image-carousel.image-aspect-4-5  .swiper-slide-inner img { aspect-ratio: 4/5; }


/*********************************
MENUS
**********************************/

.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a,
.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a:focus,
.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a:hover {
    border-left-width: var(--h-space-half);
}
.elementor-widget-nav-menu .elementor-nav-menu--main ul.elementor-nav-menu--dropdown a {
    border: none;
}

.elementor-widget-nav-menu .elementor-menu-toggle {
    padding: 0;
}

/* Add the same divider from the style tab to the start of the menu */
.menu-divider-start .elementor-nav-menu:before {
    content: var(--e-nav-menu-divider-content, none);
    height: var(--e-nav-menu-divider-height, 35%);
    border-left: var(--e-nav-menu-divider-width, 2px) var(--e-nav-menu-divider-style, solid) var(--e-nav-menu-divider-color, #000);
    border-bottom-color: var(--e-nav-menu-divider-color, #000);
    border-right-color: var(--e-nav-menu-divider-color, #000);
    border-top-color: var(--e-nav-menu-divider-color, #000);
    -ms-flex-item-align: center;
    align-self: center;
    
    margin-inline-start: var(--e-nav-menu-horizontal-menu-item-margin);
    margin-inline-end: var(--e-nav-menu-horizontal-menu-item-margin);
}
/* Hide on mobile */
@media (max-width: 767px) {
    .menu-divider-start .elementor-nav-menu:before {
        content: none;
    }
}


/*********************************
FORMS
**********************************/

.gform_wrapper.gravity-theme input[type=date],
.gform_wrapper.gravity-theme input[type=datetime-local],
.gform_wrapper.gravity-theme input[type=datetime],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=month],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme input[type=password],
.gform_wrapper.gravity-theme input[type=search],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=time],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme input[type=week],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea,
.eael-gravity-form .gform_wrapper.gravity-theme textarea {
	padding-top: var(--input-padding-top);
	padding-bottom: var(--input-padding-bottom);
	padding-left: var(--input-padding-left);
	padding-right: var(--input-padding-right);
	
	font-family: var(--input-font-family);
    font-size: var(--input-font-size);
    line-height: var(--input-line-height);
    font-weight: var(--input-font-weight);
    font-style: var(--input-font-style);
    text-transform: var(--input-text-transform);
    text-decoration: var(--input-text-decoration);
    letter-spacing: var(--input-letter-spacing);
    word-spacing: var(--input-word-spacing);
    
    color: var(--input-color);
    background-color: var(--input-background-color);
	border-style: solid;
	border-color: var(--input-border-color);
    border-top-width: var(--input-border-top);
    border-bottom-width: var(--input-border-bottom);
    border-left-width: var(--input-border-left);
    border-right-width: var(--input-border-right);
	border-radius: var(--input-border-radius);
}
.gform_wrapper.gravity-theme input[type=date]:focus,
.gform_wrapper.gravity-theme input[type=datetime-local]:focus,
.gform_wrapper.gravity-theme input[type=datetime]:focus,
.gform_wrapper.gravity-theme input[type=email]:focus,
.gform_wrapper.gravity-theme input[type=month]:focus,
.gform_wrapper.gravity-theme input[type=number]:focus,
.gform_wrapper.gravity-theme input[type=password]:focus,
.gform_wrapper.gravity-theme input[type=search]:focus,
.gform_wrapper.gravity-theme input[type=tel]:focus,
.gform_wrapper.gravity-theme input[type=text]:focus,
.gform_wrapper.gravity-theme input[type=time]:focus,
.gform_wrapper.gravity-theme input[type=url]:focus,
.gform_wrapper.gravity-theme input[type=week]:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus,
.eael-gravity-form .gform_wrapper.gravity-theme textarea:focus {
    border-color: var(--input-border-color-active);
    background-color: var(--input-background-color-active);
}

.gform_wrapper.gravity-theme select {
	height: calc(
		(var(--input-font-size) * var(--input-line-height))
		+ var(--input-padding-top)
		+ var(--input-padding-bottom)
		+ var(--input-border-top)
		+ var(--input-border-bottom)
	);
}

.gform_wrapper.gravity-theme textarea {
    vertical-align: top;
}
.gform_wrapper.gravity-theme .gfield textarea.large {
    height: calc(var(--input-font-size) * var(--input-line-height) * 7);
}
.gform_wrapper.gravity-theme .gfield textarea.medium {
    height: calc(var(--input-font-size) * var(--input-line-height) * 5);
}
.gform_wrapper.gravity-theme .gfield textarea.small {
    height: calc(var(--input-font-size) * var(--input-line-height) * 3);
}

.gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: var(--field-col-gap);
    grid-row-gap: var(--field-row-gap);
}

.gform_wrapper.gravity-theme .gfield_label {
	font-family: var(--label-font-family);
	font-size: var(--label-font-size);
	line-height: var(--label-line-height);
	font-weight: var(--label-font-weight);
	font-style: var(--label-font-style);
	text-transform: var(--label-text-transform);
	text-decoration: var(--label-text-decoration);
	letter-spacing: var(--label-letter-spacing);
	word-spacing: var(--label-word-spacing);
	
	color: var(--label-color);
    margin-bottom: var(--label-margin-bottom);
}

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
    margin: var(--field-row-gap) 0 0 0;
    padding: 0;
}

@media (max-width: 767px) {
    /* Reduce column gap on mobile as the standard 30px is too wide and causes an overflow */
    .gform_wrapper.gravity-theme .gform_fields {
        grid-column-gap: calc(var(--field-col-gap) / 2);
    }
}

@media (max-width: 641px) {
    /* Fix for built in gf theme css */
    .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
        line-height: var(--input-line-height);
        min-height: 0;
    }
}


/* FANCY FIELDS */

.fancy-field {
    position: relative;
}

.fancy-field .gfield_label {
    --label-position: calc(
	    (var(--input-font-size) * var(--input-line-height) / 2)
	    + var(--input-padding-top)
        + var(--input-border-top)
    );
    
    position: absolute;
    left: var(--input-padding-left);
    bottom: calc(100% - var(--label-position));
    margin-bottom: 0 !important;
    transform: translateY(50%);
    transition: all 0.3s;
    pointer-events: none;
}

.fancy-field.filling .gfield_label {
    left: 0;
    bottom: 100%;
    transform: translateY(0);
    font-size: var(--fancy-field-active-label-size);
    pointer-events: auto;
}

/* add extra space above fancy fields when not on the first row */
.fancy-field:not(:first-child) {
    margin-top: var(--fancy-field-extra-space);
}
@media (min-width: 641px) {
    .fancy-field:nth-child(2).gfield--width-half,
    .fancy-field:nth-child(2).gfield--width-third,
    .fancy-field:nth-child(2).gfield--width-quarter,
    .fancy-field:nth-child(3).gfield--width-third,
    .fancy-field:nth-child(3).gfield--width-quarter,
    .fancy-field:nth-child(4).gfield--width-quarter {
        margin-top: 0;
    }
}
