/* 
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
*/

/*

********************
	Breakpoint media queries
**********

--> bootstrap vs elementor breakpoints, see which one it most useful.
--> ALL classes will be prefixed with 'ds'
--> Affix for breakpoints

Widescreen - wide
@media (min-width: 1980px) { ... }

Desktop (Normal) - desk (Previously lg)
@media (max-width: 1366px) { ... }

Laptop - lap
@media (max-width: 1200px) { ... }

Tablet Extra - tabx (Previously md)
@media (max-width: 1024px) { ... }

Tablet - tab
@media (max-width: 880px) { ... }

Mobile Extra - mobx (Previously sm)
@media (max-width: 500px) { ... }

Mobile - mob
@media () { ... }


*** Affix for sizes

Extra Small - xs
Small - sm
Medium - md
Large - lg
Extra Large - xl

*** Boostrap style media queries, mobile first

// Mobile (mob) - and up

// Mobile Extra (mobx) - 501px and up
@media (min-width: 501px) { ... }

// Tablet (tab) - 881px and up
@media (min-width: 881px) { ... }

// Tablet Extra (tabx) - 1025px and up
@media (min-width: 1025px) { ... }

// Laptop (lap) - 1201px and up
@media (min-width: 1201px) { ... }

// Desktop (desk) - 1367px and up
@media (min-width: 1367px) { ... }

// Widescreen (wide) - 1500px and up
@media (min-width: 1501px) { ... }

*/


/********************
	    OVERRIDES 
**********/

.elementor-element p:last-child {
  margin-bottom: 0;
}

.elementor-element.elementor-button-info .elementor-button {
	fill: var( --e-global-color-f8264f8 );
    color: var( --e-global-color-f8264f8 );
    background-color: var( --e-global-color-1a80546b );
    border-style: solid;
    border-color: var( --e-global-color-1a80546b );
}

.elementor-element.elementor-button-info .elementor-button:hover, 
.elementor-element.elementor-button-info .elementor-button:focus {
    color: var( --e-global-color-1a80546b );
    background-color: var( --e-global-color-b0d4c93 );
    border-color: var( --e-global-color-b0d4c93 );
}

/**********
	    END: OVERRIDES 
********************/


/********************
	    UTILITY CLASSES 
**********/

/* From ASTRA SEED > TODO: Guys said they don't use these classes */

/* flex left / right - GLOBAL
.flex-right-content .elementor-row {
    justify-content: flex-end;
    -ms-flex-pack: end;
    flex-wrap: nowrap;
}

    .flex-right-content .elementor-row .elementor-column,
    .flex-left-content .elementor-row .elementor-column {
        width: auto;
    }

.flex-left-content .elementor-row {
    justify-content: flex-start;
    -ms-flex-pack: start;
    flex-wrap: nowrap;
} */

/**********
	Display flex with media cols and gap
	- Flex grid box layout for section > columns AND column > widgets
	TODO: Probably don't need this as GAP and flex is not supported in slightly older browsers
*****/

/*.elementor-element.elementor-column.ds-flx-grd > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-flx-grd > .elementor-container > .elementor-row {
	--ds-cols: 1;
	--ds-gap: 30px;
	gap:var(--ds-gap);
	flex-wrap:wrap;
}

.elementor-element.elementor-column.ds-flx-grd > .elementor-element-populated > .elementor-widget-wrap > .elementor-element.elementor-widget,
.elementor-element.elementor-section.ds-flx-grd > .elementor-container > .elementor-row > .elementor-column {
	width:calc((100% / var(--ds-cols)) - (var(--ds-gap) * (var(--ds-cols) - 1) / var(--ds-cols)));
	margin-bottom:0;
}

.elementor-element.elementor-column.ds-flx-grd.ds-cols-mob-2 > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-flx-grd.ds-cols-mob-2 > .elementor-container > .elementor-row > .elementor-column{
	--ds-cols: 2;
}

.elementor-element.elementor-column.ds-flx-grd.ds-cols-mob-3 > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-flx-grd.ds-cols-mob-3 > .elementor-container > .elementor-row > .elementor-column{
	--ds-cols: 3;
}

.elementor-element.elementor-column.ds-flx-grd.ds-cols-mob-4 > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-flx-grd.ds-cols-mob-4 > .elementor-container > .elementor-row > .elementor-column {
	--ds-cols: 4;
}*/

/**********
	Display ds custom grid (xgrid)
	- Layout for section > columns AND column > widgets
	- This is a replacement for GAP as this is not supported on slightly older browsers
*****/

.elementor-element.elementor-column.ds-xgap-0 > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-column.ds-xgap-sm > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-column.ds-xgap-md > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-column.ds-xgap-lg > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-column.ds-xgap-xl > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-xgap-0 > .elementor-container > .elementor-row,
.elementor-element.elementor-section.ds-xgap-sm > .elementor-container > .elementor-row,
.elementor-element.elementor-section.ds-xgap-md > .elementor-container > .elementor-row,
.elementor-element.elementor-section.ds-xgap-lg > .elementor-container > .elementor-row,
.elementor-element.elementor-section.ds-xgap-xl > .elementor-container > .elementor-row {
	--ds-xgrid-gap:15px;
	margin: calc(var(--ds-xgrid-gap) * -1);
    width: calc(100% + calc(var(--ds-xgrid-gap) * 2));
}

.elementor-element.elementor-column.ds-xgap-0 > .elementor-element-populated > .elementor-widget-wrap > .elementor-element.elementor-widget,
.elementor-element.elementor-column.ds-xgap-sm > .elementor-element-populated > .elementor-widget-wrap > .elementor-element.elementor-widget,
.elementor-element.elementor-column.ds-xgap-md > .elementor-element-populated > .elementor-widget-wrap > .elementor-element.elementor-widget,
.elementor-element.elementor-column.ds-xgap-lg > .elementor-element-populated > .elementor-widget-wrap > .elementor-element.elementor-widget,
.elementor-element.elementor-column.ds-xgap-xl > .elementor-element-populated > .elementor-widget-wrap > .elementor-element.elementor-widget,
.elementor-element.elementor-section.ds-xgap-0 > .elementor-container > .elementor-row > .elementor-column,
.elementor-element.elementor-section.ds-xgap-sm > .elementor-container > .elementor-row > .elementor-column,
.elementor-element.elementor-section.ds-xgap-md > .elementor-container > .elementor-row > .elementor-column,
.elementor-element.elementor-section.ds-xgap-lg > .elementor-container > .elementor-row > .elementor-column,
.elementor-element.elementor-section.ds-xgap-xl > .elementor-container > .elementor-row > .elementor-column {
	padding: calc(var(--ds-xgrid-gap));
}

/* Mobile (mob) - and up */
.elementor-element.elementor-column.ds-xgap-0 {
	--ds-xgrid-gap:0px;
}

.elementor-element.elementor-column.ds-xgap-sm {
	--ds-xgrid-gap:10px;
}

.elementor-element.elementor-column.ds-xgap-md {
	--ds-xgrid-gap:15px;
}

.elementor-element.elementor-column.ds-xgap-lg {
	--ds-xgrid-gap:20px;
}

.elementor-element.elementor-column.ds-xgap-xl {
	--ds-xgrid-gap:25px;
}


/**********
	Display grid with media cols and gap
	- Layout for section > columns AND column > widgets
*****/

.elementor-element.elementor-column.ds-d-grid > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-d-grid > .elementor-container > .elementor-row {
	--ds-cols: 1;
	--ds-gap: 30px;
	gap:var(--ds-gap);
	display:grid;
	grid-template-columns: 1fr;
}

.elementor-element.elementor-column.ds-d-grid > .elementor-element-populated > .elementor-widget-wrap > .elementor-element.elementor-widget,
.elementor-element.elementor-section.ds-d-grid > .elementor-container > .elementor-row > .elementor-column {
	width:auto;
	margin-bottom:0;
}

/* Mobile (mob) - and up */
.elementor-element.elementor-column.ds-d-grid.ds-cols-2-mob > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-d-grid.ds-cols-2-mob > .elementor-container > .elementor-row {
	grid-template-columns: 1fr 1fr;
}

.elementor-element.elementor-column.ds-d-grid.ds-cols-3-mob > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-d-grid.ds-cols-3-mob > .elementor-container > .elementor-row {
	grid-template-columns: 1fr 1fr 1fr;
}

.elementor-element.elementor-column.ds-d-grid.ds-cols-4-mob > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-d-grid.ds-cols-4-mob > .elementor-container > .elementor-row {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.elementor-element.elementor-column.ds-d-grid.ds-cols-5-mob > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-d-grid.ds-cols-5-mob > .elementor-container > .elementor-row {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.elementor-element.elementor-column.ds-d-grid.ds-cols-6-mob > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-d-grid.ds-cols-6-mob > .elementor-container > .elementor-row {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

/* Mobile Extra (mobx) - 501px and up */
@media (min-width: 501px) {
	.elementor-element.elementor-column.ds-d-grid.ds-cols-2-mobx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-2-mobx > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-3-mobx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-3-mobx > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-4-mobx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-4-mobx > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-5-mobx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-5-mobx > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}
	
	.elementor-element.elementor-column.ds-d-grid.ds-cols-6-mobx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-6-mobx > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	}
	
}

/* Tablet (tab) - 881px and up */
@media (min-width: 881px) {
	.elementor-element.elementor-column.ds-d-grid.ds-cols-2-tab > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-2-tab > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-3-tab > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-3-tab > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-4-tab > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-4-tab > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-5-tab > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-5-tab > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}
	
	.elementor-element.elementor-column.ds-d-grid.ds-cols-6-tab > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-6-tab > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	}
	
}

/* Tablet Extra (tabx) - 1025px and up */
@media (min-width: 1025px) {
	.elementor-element.elementor-column.ds-d-grid.ds-cols-2-tabx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-2-tabx > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-3-tabx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-3-tabx > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-4-tabx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-4-tabx > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-5-tabx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-5-tabx > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}
	
	.elementor-element.elementor-column.ds-d-grid.ds-cols-6-tabx > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-6-tabx > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	}
	
}

/* Laptop (lap) - 1201px and up */
@media (min-width: 1201px) {
	.elementor-element.elementor-column.ds-d-grid.ds-cols-2-lap > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-2-lap > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-3-lap > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-3-lap > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-4-lap > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-4-lap > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-5-lap > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-5-lap > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}
	
	.elementor-element.elementor-column.ds-d-grid.ds-cols-6-lap > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-6-lap > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	}
	
}

/* Desktop (desk) - 1367px and up */
@media (min-width: 1367px) { 
	.elementor-element.elementor-column.ds-d-grid.ds-cols-2-desk > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-2-desk > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-3-desk > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-3-desk > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-4-desk > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-4-desk > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-5-desk > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-5-desk > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}
	
	.elementor-element.elementor-column.ds-d-grid.ds-cols-6-desk > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-6-desk > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	}
	
}

/* Widescreen (wide) - 1501px and up */
@media (min-width: 1501px) { 
	.elementor-element.elementor-column.ds-d-grid.ds-cols-2 > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-2 > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-3-wide > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-3-wide > .elementor-container > .elementor-row{
		grid-template-columns: 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-4-wide > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-4-wide > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.elementor-element.elementor-column.ds-d-grid.ds-cols-5-wide > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-5-wide > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}
	
	.elementor-element.elementor-column.ds-d-grid.ds-cols-6-wide > .elementor-element-populated > .elementor-widget-wrap,
	.elementor-element.elementor-section.ds-d-grid.ds-cols-6-wide > .elementor-container > .elementor-row {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	}
	
}

/**********
	Flex / Grid Classes
*****/

/* 
	Gap
	- Flex wit gap is not support by slightly older browsers
*/
.elementor-element.elementor-column.ds-gap-0 > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-gap-0 > .elementor-container > .elementor-row {
	--ds-gap: 0px;
	gap:var(--ds-gap);
}

.elementor-element.elementor-column.ds-gap-sm > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-gap-sm > .elementor-container > .elementor-row {
	--ds-gap: 20px;
	gap:var(--ds-gap);
}


.elementor-element.elementor-column.ds-gap-md > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-gap-md > .elementor-container > .elementor-row {
	--ds-gap: 30px;
	gap:var(--ds-gap);
}


.elementor-element.elementor-column.ds-gap-lg > .elementor-element-populated > .elementor-widget-wrap,
.elementor-element.elementor-section.ds-gap-lg > .elementor-container > .elementor-row {
	--ds-gap: 40px;
	gap:var(--ds-gap);
}

/*
	Flex Grow and Wrap
	- For any elementor element e.g. column, widget
*/

/* Mobile (mob) - and up */

.elementor-element.ds-flex-grow-0-mob {
    width: auto !important;
    flex-grow: 0;
}

.elementor-element.ds-flex-grow-1-mob {
    width: auto !important;
    flex-grow: 1;
}

.elementor-element.ds-flex-grow-2-mob {
    width: auto !important;
    flex-grow: 2;
}

.elementor-element.elementor-section.ds-flex-wrap-nowrap-mob > .elementor-container > .elementor-row {
	  flex-wrap: nowrap;
 }

/* Mobile Extra (mobx) - 501px and up */
@media (min-width: 501px) {
	.elementor-element.ds-flex-grow-0-mobx {
		 width: auto !important;
		 flex-grow: 0;
	}

	.elementor-element.ds-flex-grow-1-mobx {
		 width: auto !important;
		 flex-grow: 1;
	}

	.elementor-element.ds-flex-grow-2-mobx {
		 width: auto !important;
		 flex-grow: 2;
	}
	
	.elementor-element.elementor-section.ds-flex-wrap-nowrap-mobx > .elementor-container > .elementor-row {
	  flex-wrap: nowrap;
	}
}

/* Tablet (tab) - 881px and up */
@media (min-width: 881px) {
	.elementor-element.ds-flex-grow-0-tab {
		 width: auto !important;
		 flex-grow: 0;
	}

	.elementor-element.ds-flex-grow-1-tab {
		 width: auto !important;
		 flex-grow: 1;
	}

	.elementor-element.ds-flex-grow-2-tab {
		 width: auto !important;
		 flex-grow: 2;
	}
	
	.elementor-element.elementor-section.ds-flex-wrap-nowrap-tab > .elementor-container > .elementor-row {
	  flex-wrap: nowrap;
	}
}

/* Tablet Extra (tabx) - 1025px and up */
@media (min-width: 1025px) {
	.elementor-element.ds-flex-grow-0-tabx {
		 width: auto !important;
		 flex-grow: 0;
	}

	.elementor-element.ds-flex-grow-1-tabx {
		 width: auto !important;
		 flex-grow: 1;
	}

	.elementor-element.ds-flex-grow-2-tabx {
		 width: auto !important;
		 flex-grow: 2;
	}
	
	.elementor-element.elementor-section.ds-flex-wrap-nowrap-tabx > .elementor-container > .elementor-row {
	  flex-wrap: nowrap;
	}
}

/* Laptop (lap) - 1201px and up */
@media (min-width: 1201px) {
	.elementor-element.ds-flex-grow-0-lap {
		 width: auto !important;
		 flex-grow: 0;
	}

	.elementor-element.ds-flex-grow-1-lap {
		 width: auto !important;
		 flex-grow: 1;
	}

	.elementor-element.ds-flex-grow-2-lap {
		 width: auto !important;
		 flex-grow: 2;
	}
	
	.elementor-element.elementor-section.ds-flex-wrap-nowrap-lap > .elementor-container > .elementor-row {
	  flex-wrap: nowrap;
	}
}

/* Desktop (desk) - 1367px and up */
@media (min-width: 1367px) {
	.elementor-element.ds-flex-grow-0-desk {
		 width: auto !important;
		 flex-grow: 0;
	}

	.elementor-element.ds-flex-grow-1-desk {
		 width: auto !important;
		 flex-grow: 1;
	}

	.elementor-element.ds-flex-grow-2-desk {
		 width: auto !important;
		 flex-grow: 2;
	}
	
	.elementor-element.elementor-section.ds-flex-wrap-nowrap-desk > .elementor-container > .elementor-row {
	  flex-wrap: nowrap;
	}
}

/* Widescreen (wide) - 1501px and up */
@media (min-width: 1501px) {
	.elementor-element.ds-flex-grow-0-wide {
		 width: auto !important;
		 flex-grow: 0;
	}

	.elementor-element.ds-flex-grow-1-wide {
		 width: auto !important;
		 flex-grow: 1;
	}

	.elementor-element.ds-flex-grow-2-wide {
		 width: auto !important;
		 flex-grow: 2;
	}
	
	.elementor-element.elementor-section.ds-flex-wrap-nowrap-wide > .elementor-container > .elementor-row {
	  flex-wrap: nowrap;
	}
}



/**********
	Other
*****/

/*
	Set the widget or section container max width
	- Usage: When a text widget is in a column with a reduced width, so the text will drop into two lines.
*/

.elementor-element.elementor-widget.ds-max-width-768 > .elementor-widget-container,
.elementor-element.elementor-widget.ds-max-width-1024 > .elementor-widget-container,
.elementor-element.elementor-widget.ds-max-width-1280 > .elementor-widget-container {
	-webkit-ds-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.elementor-element.elementor-section.ds-max-width-768 > .elementor-container,
.elementor-element.elementor-widget.ds-max-width-768 > .elementor-widget-container {
	max-width: 768px;
}

.elementor-element.elementor-section.ds-max-width-1024 > .elementor-container,
.elementor-element.elementor-widget.ds-max-width-1024 > .elementor-widget-container {
	max-width: 1024px;
}

.elementor-element.elementor-section.ds-max-width-1280 > .elementor-container,
.elementor-element.elementor-widget.ds-max-width-1280 > .elementor-widget-container {
	max-width: 1280px;
}

/*
	Margin Left/Right Auto
*/

.elementor-element.elementor-section.ds-mx-auto > .elementor-container,
.elementor-element.elementor-widget.ds-mx-auto > .elementor-widget-container {
	margin-left:auto;
	margin-right:auto;
}



/**********
	Spacing with Padding & Margins
*****/

/*
	Set elementor section padding
	- Padding is offset due to the standard column padding of 10px, this means for example the actual padding for sm is 30 + 10 = 40px.
*/

.elementor-element.elementor-section.ds-pt-xs {
	padding-top:30px;
}

.elementor-element.elementor-section.ds-pt-sm {
	padding-top:60px;
}

.elementor-element.elementor-section.ds-pt-md {
	padding-top:110px;
}

.elementor-element.elementor-section.ds-pt-lg {
	padding-top:180px;
}

.elementor-element.elementor-section.ds-pt-xl {
	padding-top:260px;
}

.elementor-element.elementor-section.ds-pb-xs {
	padding-bottom:30px;
}

.elementor-element.elementor-section.ds-pb-sm {
	padding-bottom:60px;
}

.elementor-element.elementor-section.ds-pb-md {
	padding-bottom:110px;
}

.elementor-element.elementor-section.ds-pb-lg {
	padding-bottom:180px;
}

.elementor-element.elementor-section.ds-pb-xl {
	padding-bottom:260px;
}

/*
	Set elementor section margins
*/

.elementor-element.elementor-section.ds-mt-xs {
	margin-top:40px;
}

.elementor-element.elementor-section.ds-mt-sm {
	margin-top:70px;
}

.elementor-element.elementor-section.ds-mt-md {
	margin-top:120px;
}

.elementor-element.elementor-section.ds-mt-lg {
	margin-top:190px;
}

.elementor-element.elementor-section.ds-mt-xl {
	margin-top:270px;
}

.elementor-element.elementor-section.ds-mb-xs {
	margin-bottom:40px;
}

.elementor-element.elementor-section.ds-mb-sm {
	margin-bottom:70px;
}

.elementor-element.elementor-section.ds-mb-md {
	margin-bottom:120px;
}

.elementor-element.elementor-section.ds-mb-lg {
	margin-bottom:190px;
}

.elementor-element.elementor-section.ds-mb-xl {
	margin-bottom:270px;
}

/*
	Set elementor column padding
*/

.elementor-element.elementor-column.ds-pt-xs > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:40px;
}

.elementor-element.elementor-column.ds-pt-sm > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:70px;
}

.elementor-element.elementor-column.ds-pt-md > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:120px;
}

.elementor-element.elementor-column.ds-pt-lg > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:190px;
}

.elementor-element.elementor-column.ds-pt-xl > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:270px;
}

.elementor-element.elementor-column.ds-pb-xs > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:40px;
}

.elementor-element.elementor-column.ds-pb-sm > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:70px;
}

.elementor-element.elementor-column.ds-pb-md > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:120px;
}

.elementor-element.elementor-column.ds-pb-lg > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:190px;
}

.elementor-element.elementor-column.ds-pb-xl > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:270px;
}

/*
	Set elementor column box padding
	- Used whem a column had a specific backgound color that contrasts the parent element background color
*/

.elementor-element.elementor-column.ds-box-p-0 > .elementor-element-populated > .elementor-widget-wrap {
	padding:0px;
}

.elementor-element.elementor-column.ds-box-p-sm > .elementor-element-populated > .elementor-widget-wrap {
	padding:20px;
}

.elementor-element.elementor-column.ds-box-p-md > .elementor-element-populated > .elementor-widget-wrap {
	padding:40px;
}

.elementor-element.elementor-column.ds-box-p-lg > .elementor-element-populated > .elementor-widget-wrap {
	padding:70px;
}

.elementor-element.elementor-column.ds-box-pt-sm > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:20px;
}

.elementor-element.elementor-column.ds-box-pt-md > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:40px;
}

.elementor-element.elementor-column.ds-box-pt-lg > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:70px;
}

.elementor-element.elementor-column.ds-box-pt-lg-p > .elementor-element-populated > .elementor-widget-wrap {
	padding-top:32%;
}

.elementor-element.elementor-column.ds-box-ps-sm > .elementor-element-populated > .elementor-widget-wrap {
	padding-right:20px;
}

.elementor-element.elementor-column.ds-box-ps-md > .elementor-element-populated > .elementor-widget-wrap {
	padding-right:40px;
}

.elementor-element.elementor-column.ds-box-ps-lg > .elementor-element-populated > .elementor-widget-wrap {
	padding-right:70px;
}

.elementor-element.elementor-column.ds-box-ps-lg-p > .elementor-element-populated > .elementor-widget-wrap {
	padding-right:32%;
}

.elementor-element.elementor-column.ds-box-pb-sm > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:20px;
}

.elementor-element.elementor-column.ds-box-pb-md > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:40px;
}

.elementor-element.elementor-column.ds-box-pb-lg > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:70px;
}

.elementor-element.elementor-column.ds-box-pb-lg-p > .elementor-element-populated > .elementor-widget-wrap {
	padding-bottom:32%;
}

.elementor-element.elementor-column.ds-box-pe-sm > .elementor-element-populated > .elementor-widget-wrap {
	padding-left:20px;
}

.elementor-element.elementor-column.ds-box-pe-md > .elementor-element-populated > .elementor-widget-wrap {
	padding-left:40px;
}

.elementor-element.elementor-column.ds-box-pe-lg > .elementor-element-populated > .elementor-widget-wrap {
	padding-left:70px;
}

.elementor-element.elementor-column.ds-box-pe-lg-p > .elementor-element-populated > .elementor-widget-wrap {
	padding-left:32%;
}

/*
	Set column margin
	- TODO: Recheck if this is required since we have gaps
*/
.elementor-element.ds-mar-right-md > .elementor-column-wrap {
	margin-right:30px;
}

.elementor-element.ds-mar-left-md > .elementor-column-wrap {
	margin-left:30px;
}


/*
	Set the widget spacing bottom margin for all widgets in column.
*/

.elementor-element.ds-widget-spacing-md > .elementor-column-wrap > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute),
.elementor-element.ds-widget-spacing-md > .elementor-column-wrap > .elementor-widget-wrap > .elementor-inner-section:not(:last-child):not(.elementor-absolute) {
	margin-bottom:30px;
}

/*
	Set the widget spacing bottom margin specifically for a widget.
*/

.elementor-element > .elementor-column-wrap > .elementor-widget-wrap > .elementor-widget.ds-widget-spacing-md:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute),
.elementor-element> .elementor-column-wrap > .elementor-widget-wrap > .elementor-inner-section.ds-widget-spacing-md:not(:last-child):not(.elementor-absolute){
	margin-bottom:30px;
}

.elementor-element > .elementor-column-wrap > .elementor-widget-wrap > .elementor-widget.ds-widget-spacing-0:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute) {
	margin-bottom:0px;
}


/**********
	Widget specific
*****/

/*
	Elementor Call to Action Widget - Set box padding
*/

.elementor-element.ds-box-p-0 > .elementor-widget-container > .elementor-cta > .elementor-cta__content {
	padding:0 !important;
}

.elementor-element.ds-box-p-xs > .elementor-widget-container > .elementor-cta > .elementor-cta__content {
	padding:10px;
}

.elementor-element.ds-box-p-sm > .elementor-widget-container > .elementor-cta > .elementor-cta__content {
	padding:20px;
}

.elementor-element.ds-box-p-md > .elementor-widget-container > .elementor-cta > .elementor-cta__content {
	padding:30px;
}

.elementor-element.ds-box-p-lg > .elementor-widget-container > .elementor-cta > .elementor-cta__content {
	padding:40px;
}

/*
	Elementor Call to Action Widget - Set widget aspect
	- Not well supported by slightly older browsers
*/
.elementor-widget.elementor-widget-call-to-action.ds-aspect-ratio-land .elementor-cta__content {
		aspect-ratio: 1/0.83;
    width: auto;
    height: auto;
}

/*
	Elementor Flip Box Widget (Pro) - Set box padding
*/

.elementor-element.ds-box-p-md .elementor-flip-box__layer .elementor-flip-box__layer__overlay {
	padding:30px;
}

.elementor-element.ds-box-p-md .elementor-flip-box__layer .elementor-flip-box__layer__title:last-child {
	margin:0;
}

/*
	Elementor Flip Box Widget (Pro) - Set widget aspect
*/

.elementor-widget.elementor-widget-flip-box.ds-aspect-ratio-port .elementor-flip-box {
	/*aspect-ratio: 1/1.112;
    width: auto;
    height: auto;*/
	padding-bottom:111%;
}










@media (min-width: 1500px) {
	
}

@media (max-width: 1366px) {

}	

@media (min-width: 1980px) {
	
}

@media (max-width: 1366px) {
	
}

@media (max-width: 1200px) { /*TabletExtra*/
	
}

@media (max-width: 1024px) {
	
}

@media (max-width: 880px) { /*MobileExtra*/
	

	/***** Spacing with Padding & Margins *****/

	/*
		Set elementor section padding
		- Padding is offset due to the standard column padding of 10px, this means for example the actual padding for sm is 30 + 10 = 40px.
	*/

	.elementor-element.elementor-section.ds-pt-xs {
		/*padding-top:30px;*/
	}

	.elementor-element.elementor-section.ds-pt-sm {
		padding-top:30px;
	}

	.elementor-element.elementor-section.ds-pt-md {
		padding-top:55px;
	}

	.elementor-element.elementor-section.ds-pt-lg {
		padding-top:90px;
	}

	.elementor-element.elementor-section.ds-pt-xl {
		padding-top:130px;
	}

	.elementor-element.elementor-section.ds-pb-xs {
		/*padding-bottom:30px;*/
	}

	.elementor-element.elementor-section.ds-pb-sm {
		padding-bottom:30px;
	}

	.elementor-element.elementor-section.ds-pb-md {
		padding-bottom:55px;
	}

	.elementor-element.elementor-section.ds-pb-lg {
		padding-bottom:90px;
	}

	.elementor-element.elementor-section.ds-pb-xl {
		padding-bottom:130px;
	}

	/*
		Set elementor section margins
	*/

	.elementor-element.elementor-section.ds-mt-xs {
		/*margin-top:40px;*/
	}

	.elementor-element.elementor-section.ds-mt-sm {
		margin-top:50px;
	}

	.elementor-element.elementor-section.ds-mt-md {
		margin-top:65px;
	}

	.elementor-element.elementor-section.ds-mt-lg {
		margin-top:100px;
	}

	.elementor-element.elementor-section.ds-mt-xl {
		margin-top:140px;
	}

	.elementor-element.elementor-section.ds-mb-xs {
		/*margin-bottom:40px;*/
	}

	.elementor-element.elementor-section.ds-mb-sm {
		margin-bottom:50px;
	}

	.elementor-element.elementor-section.ds-mb-md {
		margin-bottom:65px;
	}

	.elementor-element.elementor-section.ds-mb-lg {
		margin-bottom:100px;
	}

	.elementor-element.elementor-section.ds-mb-xl {
		margin-bottom:140px;
	}

	/*
		Set elementor column padding
	*/

	.elementor-element.elementor-column.ds-pt-xs > .elementor-element-populated > .elementor-widget-wrap {
		/*padding-top:40px;*/
	}

	.elementor-element.elementor-column.ds-pt-sm > .elementor-element-populated > .elementor-widget-wrap {
		padding-top:50px;
	}

	.elementor-element.elementor-column.ds-pt-md > .elementor-element-populated > .elementor-widget-wrap {
		padding-top:65px;
	}

	.elementor-element.elementor-column.ds-pt-lg > .elementor-element-populated > .elementor-widget-wrap {
		padding-top:100px;
	}

	.elementor-element.elementor-column.ds-pt-xl > .elementor-element-populated > .elementor-widget-wrap {
		padding-top:140px;
	}

	.elementor-element.elementor-column.ds-pb-xs > .elementor-element-populated > .elementor-widget-wrap {
		/*padding-bottom:40px;*/
	}

	.elementor-element.elementor-column.ds-pb-sm > .elementor-element-populated > .elementor-widget-wrap {
		padding-bottom:50px;
	}

	.elementor-element.elementor-column.ds-pb-md > .elementor-element-populated > .elementor-widget-wrap {
		padding-bottom:65px;
	}

	.elementor-element.elementor-column.ds-pb-lg > .elementor-element-populated > .elementor-widget-wrap {
		padding-bottom:100px;
	}

	.elementor-element.elementor-column.ds-pb-xl > .elementor-element-populated > .elementor-widget-wrap {
		padding-bottom:140px;
	}

	/*
		Set elementor column box padding
		- Used whem a column had a specific backgound color that contrasts the parent element background color
	*/
	
	
	.elementor-element.elementor-column.ds-box-p-0 > .elementor-element-populated > .elementor-widget-wrap {
		padding:0px;
	}

	.elementor-element.elementor-column.ds-box-p-sm > .elementor-element-populated > .elementor-widget-wrap {
		padding:10px;
	}

	.elementor-element.elementor-column.ds-box-p-md > .elementor-element-populated > .elementor-widget-wrap {
		padding:20px;
	}

	.elementor-element.elementor-column.ds-box-p-lg > .elementor-element-populated > .elementor-widget-wrap {
		padding:40px;
	}

	.elementor-element.elementor-column.ds-box-pt-sm > .elementor-element-populated > .elementor-widget-wrap {
		padding-top:10px;
	}

	.elementor-element.elementor-column.ds-box-pt-md > .elementor-element-populated > .elementor-widget-wrap {
		padding-top:20px;
	}

	.elementor-element.elementor-column.ds-box-pt-lg > .elementor-element-populated > .elementor-widget-wrap {
		padding-top:40px;
	}

	.elementor-element.elementor-column.ds-box-pt-lg-p > .elementor-element-populated > .elementor-widget-wrap {
		padding-top:32%;
	}

	.elementor-element.elementor-column.ds-box-ps-sm > .elementor-element-populated > .elementor-widget-wrap {
		padding-right:10px;
	}

	.elementor-element.elementor-column.ds-box-ps-md > .elementor-element-populated > .elementor-widget-wrap {
		padding-right:20px;
	}

	.elementor-element.elementor-column.ds-box-ps-lg > .elementor-element-populated > .elementor-widget-wrap {
		padding-right:40px;
	}

	.elementor-element.elementor-column.ds-box-ps-lg-p > .elementor-element-populated > .elementor-widget-wrap {
		padding-right:40px;
	}

	.elementor-element.elementor-column.ds-box-pb-sm > .elementor-element-populated > .elementor-widget-wrap {
		padding-bottom:10px;
	}

	.elementor-element.elementor-column.ds-box-pb-md > .elementor-element-populated > .elementor-widget-wrap {
		padding-bottom:20px;
	}

	.elementor-element.elementor-column.ds-box-pb-lg > .elementor-element-populated > .elementor-widget-wrap {
		padding-bottom:40px;
	}

	.elementor-element.elementor-column.ds-box-pb-lg-p > .elementor-element-populated > .elementor-widget-wrap {
		padding-bottom:40px;
	}

	.elementor-element.elementor-column.ds-box-pe-sm > .elementor-element-populated > .elementor-widget-wrap {
		padding-left:10px;
	}

	.elementor-element.elementor-column.ds-box-pe-md > .elementor-element-populated > .elementor-widget-wrap {
		padding-left:20px;
	}

	.elementor-element.elementor-column.ds-box-pe-lg > .elementor-element-populated > .elementor-widget-wrap {
		padding-left:40px;
	}

	.elementor-element.elementor-column.ds-box-pe-lg-p > .elementor-element-populated > .elementor-widget-wrap {
		padding-left:40px;
	}
	
}

@media (max-width: 500px) {
	
}

/**********
	    END: UTILITY CLASSES 
********************/