html {
	--actualVH: 1vh;
	--innerHeight: 100vh;
}
html, body {
	overflow-x: hidden;

	--container-default-padding-top: 0;
    --container-default-padding-right: 0;
    --container-default-padding-bottom: 0;
    --container-default-padding-left: 0;

    --container-default-padding-block-start: 0;
    --container-default-padding-block-end: 0;
    --container-default-padding-inline-start: 0;
    --container-default-padding-inline-end: 0;
}
body {
    
	--adminBarHeight: 0px;

    --boxedMaxWidth: 1440px;
	--boxPadding: 82px;
	--doubleBoxPadding: calc(2 * var(--boxPadding));

	--sectionPaddingDefault: 100px;
	--sectionPadding: var(--sectionPaddingDefault);
	--sectionPaddingSpace: 124px;
	
	--elementMarginDefault: 35px;
	--elementMargin: var(--elementMarginDefault);
	--elementMarginClose: 20px;
	--elementMarginSpace: 50px;
	
	--lineClamp: 2;
}

body.admin-bar {
	--adminBarHeight: 32px;
}




/* Elementor overrides */
.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: 0px;
}

.elementor-container {
    width: 100%;
}




/* Boxed width */
.elementor-element.e-con.e-con-boxed > .e-con-inner {
	max-width: var(--boxedMaxWidth) !important;
	padding-left: var(--boxPadding) !important;
	padding-right: var(--boxPadding) !important;
}
.boxed-narrow {
	--boxedMaxWidth: 1100px;
}




/* Layout Utility */
.standard,
.e-con-full.standard {
    padding-top: var(--sectionPadding);
    padding-bottom: var(--sectionPadding);
}

.content-container {
	gap: var(--elementMargin);
}
.content-container > *,
.content-container > *:first-child,
.content-container > *:last-child,
.content-container > *:not(:first-child),
.content-container > *:not(:last-child) {
	margin: 0;
}

.layout-row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}
.layout-col {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
}
.layout-grid {
	--columnNum: 3;

	display: grid;
	grid-template-columns: repeat(var(--columnNum), minmax(0, 1fr));
}

/* Section and Column Layout Utility overrides */
.elementor-section.layout-row > .elementor-container,
.elementor-column.layout-row > .elementor-widget-wrap {
    display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}
.elementor-section.layout-col,
.elementor-column.layout-col {
    display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}
.elementor-section.layout-col > .elementor-container,
.elementor-column.layout-col > .elementor-widget-wrap {
    display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
}
.elementor-section.layout-grid,
.elementor-column.layout-grid {
    display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}
.elementor-section.layout-grid > .elementor-container,
.elementor-column.layout-grid > .elementor-widget-wrap {
    --columnNum: 3;

	display: grid;
	grid-template-columns: repeat(var(--columnNum), minmax(0, 1fr));
}

.elementor-section.layout-row.content-container > .elementor-container,
.elementor-section.layout-col.content-container > .elementor-container,
.elementor-section.layout-grid.content-container > .elementor-container,
.elementor-column.layout-col.content-container > .elementor-widget-wrap,
.elementor-column.layout-row.content-container > .elementor-widget-wrap,
.elementor-column.layout-grid.content-container > .elementor-widget-wrap {
    gap: var(--elementMargin);
}





/* TEXT UTILITY */
.balance {
	text-wrap: balance;
}

.clamp,
.clamp.elementor-widget-heading .elementor-heading-title,
.clamp.elementor-widget-text-editor .elementor-widget-container {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: var(--lineClamp);
	line-clamp: var(--lineClamp);
	-webkit-box-orient: vertical;
}




/* IMAGES */
.elementor-widget-image.background {
    position: absolute;
	top: 0;
	left: 0;
	z-index: 1;

	width: 100%;
	height: 100%;
}
img.background,
.elementor-widget-image.background img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;

	width: 100%;
	height: 100%;

	object-fit: cover;
}
img.background.contain,
.elementor-widget-image.background.contain img {
	object-fit: contain;
}

.aspect-ratio,
.elementor-column.aspect-ratio > .elementor-widget-wrap {
    --aspectRatio: 1.2;
    aspect-ratio: var(--aspectRatio);
    
    width: 100%;
    
    position: relative;
    top: 0;
    left: 0;
}
.aspect-ratio img,
.elementor .aspect-ratio img {
    position: absolute;
	top: 0;
	left: 0;
	z-index: 1;

	width: 100%;
	height: 100%;
	
	object-fit: cover;
}
.aspect-ratio.contain img,
.elementor .aspect-ratio.contain img {
    object-fit: contain;
}




a.btn,
button.btn {
	display: inline-block;
}
a.btn,
button.btn,
.elementor-widget-button.btn a,
div.btn:not(.elementor-widget-button),
.theme-hello-elementor .cs-t3 a.csWidgetBuynow1Prod.cs_buynow-button {
	--buttonHeight: 30px;

	background-color: transparent;
	color: #000;
	
	font-family: "Varela Round", sans-serif;
	font-size: 16px;
	font-weight: 400;
	text-transform: normal;
	letter-spacing: 0px;
	line-height: 1;

	min-height: var(--buttonHeight);
	/*min-width: 9.781rem;*/
	max-width: 100%;
	padding: 0 20px;
	padding-top: .1em;
	border-radius: calc(var(--buttonHeight) / 2);
	border: 1px solid #000;

	position: relative;
	top: 0;
	left: 0;
	z-index: 5;
	
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;

	transition: all .3s ease-in-out;

	cursor: pointer;
}
a.btn:hover,
button.btn:hover,
.elementor-widget-button.btn a:hover,
div.btn:not(.elementor-widget-button):hover,
.theme-hello-elementor .cs-t3 a.csWidgetBuynow1Prod.cs_buynow-button:hover,
a.btn:focus,
button.btn:focus,
.elementor-widget-button.btn a:focus,
div.btn:not(.elementor-widget-button):focus,
.theme-hello-elementor .cs-t3 a.csWidgetBuynow1Prod.cs_buynow-button:focus {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
}

.swiper-slide .btn a.elementor-button {
	display: inline-flex;
}
.swiper-slide .btn .elementor-widget-container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
}
.btn span {
	display: block;
	white-space: nowrap;
	text-align: center;
}

a.btn.white,
button.btn.white,
.elementor-widget-button.btn.white a,
div.btn:not(.elementor-widget-button).white,
a.elementor-cta__button.white {
	background-color: transparent;
	color: #fff;
	border-color: #fff;
}
a.btn.white:hover,
button.btn.white:hover,
.elementor-widget-button.btn.white a:hover,
div.btn:not(.elementor-widget-button).white:hover,
a.elementor-cta__button.white:hover {
	background-color: #fff;
	color: #000;
}




.post-content {
    font-size: 16px;
}
.post-content ol,
.post-content ul {
    margin-bottom: var(--elementMargin);
}
.post-content li {
    margin-bottom: 5px;
}




.category-loop .loop-container {
    column-gap: var(--elementMargin);
    row-gap: var(--sectionPadding);
}

.category-loop .loop-item {
    text-align: center;
}

.category-loop .loop-item .image {
    --aspectRatio: 1;
    
    background-color: #ece6ab0;
    
    border-radius: 25px;
    overflow: hidden;
}

.category-loop .loop-item h2 {
    font-weight: 700;
    font-size: 24px;
}

.category-loop .loop-item .btn {
    align-self: center;

    margin-top: auto;
}




.search-form form {
    --inputHeight: 40px;
    --buttonWidth: 40px;
    
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    
    width: 100%;
    
    position: relative;
    top: 0;
    left: 0;
}
.search-form input[type="text"] {
    background-color: transparent;
    color: #000;
    
    min-height: var(--inputHeight);
    padding: 0 var(--buttonWidth) 0 20px;
    border-radius: calc(var(--inputHeight) / 2);
    border: 1px solid #96989A;
    font-size: 14px;
    width: 100%;
}
.search-form button {
    position: absolute;
    top: 0;
    right: 0;
    
    width: var(--buttonWidth);
    height: 100%;
    padding: 0;
    
    display: flex;
    align-items: center;
    justify-content: center;
    
    border: 0;
    background-color: transparent;
    color: #96989A;
}

.search-form button svg {
    position: absolute;
    top: 50%;
    left: 50%;
    
    transform: translate3d(-50%, -50%, 0);
    
    width: auto;
    max-width: calc(var(--buttonWidth) - 24px);
    height: calc(100% - 20px);
}
.search-form button svg .svgfillpath {
    fill: #96989A;
}




.gform_wrapper.gravity-theme .gform_footer input.gform_button {
    margin-left: auto;
    margin-right: auto;
}

.gform_wrapper.gravity-theme .gform_footer input.gform_button {
	--buttonHeight: 30px;

	background-color: transparent;
	color: #000;
	
	font-family: "Varela Round", sans-serif;
	font-size: 16px !important;
	font-weight: 400;
	text-transform: normal;
	letter-spacing: 0px;
	line-height: 1;

	min-height: var(--buttonHeight);
	/*min-width: 9.781rem;*/
	max-width: 100%;
	padding: 0 20px;
	padding-top: .1em;
	border-radius: calc(var(--buttonHeight) / 2);
	border: 1px solid #000 !important;

	position: relative;
	top: 0;
	left: 0;
	z-index: 5;
	
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;

	transition: all .3s ease-in-out;

	cursor: pointer;
}
.gform_wrapper.gravity-theme .gform_footer input.gform_button:hover {
    background-color: #000;
    color: #fff;
}









.elementor-widget-heading.underline-title .elementor-widget-container {
	border-color: var(--e-global-color-text) !important;
}









@media(min-width: 1800px) {
	body {
		--boxedMaxWidth: 1600px;
	}
}









@media(max-width: 1024px) {
	body {
		--boxedMaxWidth: 1024px;
	}

	.category-loop .loop-container {
		--columnNum: 3;
	}
}









@media(max-width: 767px) {
	body {
		--boxedMaxWidth: 767px;
		--boxPadding: var(--elementMargin);
	}
	body.admin-bar {
		--adminBarHeight: 46px;
	}

	.category-loop .loop-container,
	.category-loop.loop-container {
		--columnNum: 2;
	}
}