/* Custom CSS */
.elementor-kit-582 {
    --e-global-color-green: var(--e-global-color-68ef4a0b);
    --e-global-color-light-blue: var(--e-global-color-3e461cf2);
    --e-global-color-dark-blue: var(--e-global-color-725987b);
}


.elementor-align-justify .elementor-button-text {
	flex-grow: 0;
}

.elementor-heading--text-filled {
	-webkit-background-clip: text; 
	-webkit-text-fill-color: transparent; 
	background-image: url(/wp-content/uploads/2024/02/textfill.jpg);
}





/* ------------------------------------------------------------------------- *
 *  Header & footer
/* ------------------------------------------------------------------------- */

.jupiterx-header-sticked .jupiterx-header .raven-site-logo img {
	width: 50px !important;
}

@media only screen and (max-width: 768px) {
	.jupiterx-footer .raven-nav-menu-main .raven-nav-menu > li > a.raven-menu-item {
		justify-content: center;
	}
}

/* search field */
.jupiterx-search-form button {
	bottom: 0;
}

@media only screen and (max-width: 768px) {
	body.search .jupiterx-primary .jupiterx-search-form {
		max-width: 100% !important;
	}
}





/* ------------------------------------------------------------------------- *
 *  About us
/* ------------------------------------------------------------------------- */

/* additional breakpoint for column with graphics - to keep text on the left side inside the circle */
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
	.elementor-650 .elementor-element.elementor-element-d5984be {
		width: 25%;
	}
}





/* ------------------------------------------------------------------------- *
 *  Contact form
/* ------------------------------------------------------------------------- */

.elementor-kit-582 input:not([type="button"]):not([type="submit"]), 
.elementor-kit-582 textarea {
	outline: none;
	width: 100%;
}

input::placeholder, textarea::placeholder {
	color: #ffffffa3;
}

.wpcf7 .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
	grid-gap: 15px;
}

.wpcf7 .wpcf7-spinner {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.wpcf7 .wpcf7-button {
	display: flex; 
	justify-content: center; 
	align-items: center;
	position: relative; 
	margin-top: 30px;
	cursor: pointer;
}

.elementor-kit-582 .wpcf7 input[type="submit"] {
    background: transparent;
    color: var( --e-global-color-68ef4a0b );
    padding: 0;
	margin-left: 10px;
	cursor: pointer;
}

div.wpcf7 form .wpcf7-response-output {
    margin: 2em 0 0;
    padding: 0.2em 0 0;
    border: none;
    text-align: center;
    color: #fff;
}





/* ------------------------------------------------------------------------- *
 *  Buttons
/* ------------------------------------------------------------------------- */

.products .product .button,
.raven-posts .raven-post-button {
	position: relative;
	padding-left: 25px;
}

.products .product .button:after,
.raven-posts .raven-post-button:after{
    content: '';
    width: 18px;
    height: 18px;
    background: url(/wp-content/uploads/2023/10/ARROW-BUTTON.svg) no-repeat;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* elementor button with icon */
.elementor-button-content-wrapper {
	align-items: center;
}

span.elementor-button-icon {
	line-height: 0;
}

span.elementor-button-icon svg {
	width: 30px;
}

@media only screen and (max-width: 767px) {
	span.elementor-button-icon svg {
		width: 24px;
	}
}





/* ------------------------------------------------------------------------- *
 *  WooCommerce globals & archives
/* ------------------------------------------------------------------------- */

/* products grid */
.woocommerce ul.products .jupiterx-product-container {
    display: flex;
    flex-direction: column;
	align-items: center;
    justify-content: space-between;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	padding-bottom: 0 !important;
	margin-bottom: 0.5em !important;
}

.woocommerce .products .product .button.loading:after, 
.woocommerce  .products .product .button.added:after {
    content: '' !important;
    margin-left: 0 !important;
    animation: none !important;
	position: absolute;
    top: 50% !important;
	left: 0 !important;
    transform: translateY(-50%);
}

/* scrollable product grid */
@media only screen and (max-width: 768px) {
	.mobile-x-scroll .woocommerce ul.products {
		overflow-x: scroll;
		display: flex;
		gap: 20px;
		margin: 0 -20px !important;
		-ms-overflow-style: none; 
		scrollbar-width: none;
	}
	
	.mobile-x-scroll .woocommerce ul.products::-webkit-scrollbar {
		display: none;
	}		
	
	.mobile-x-scroll .woocommerce ul.products li {
		min-width: 50vw;
	}
}

/* messages & notices */
body.jupiterx-woocommerce-notices-style-initialized .woocommerce-message {
	color: var(--e-global-color-secondary) !important;
	background-color: #f8f7f7 !important;
}

body.jupiterx-woocommerce-notices-style-initialized .woocommerce-message:before {
    color: var(--e-global-color-green) !important;
}

body .wc-block-components-notice-banner {
	border-radius: 0 !important;
}

.woocommerce-NoticeGroup-checkout {
	grid-column: span 2;
}

/* tables */
.woocommerce table.shop_table :where(th, td) {
    border-color: #eee !important;
}

/* custom dropdown on select fields */
.woocommerce div.product form.cart .variations tr:not(:last-child) :where(th, td) {
	padding-bottom: 15px;
}

body.woocommerce div.product form.cart .variations td.value,
.woocommerce-page .jupiterx-primary .woocommerce-ordering {
	position: relative;
}

body.woocommerce div.product form.cart .variations td.value:after,
.woocommerce-page .jupiterx-primary .woocommerce-ordering:after {
    content: "\EA17";
    font-family: "jupiterx";
    line-height: 1;
    position: absolute;
    top: 15px;
    right: 20px;
	pointer-events: none;
}

body.woocommerce div.product form.cart .variations select,
.woocommerce-page .jupiterx-primary .woocommerce-ordering select {
	appearance: none;
}

.woocommerce-page .jupiterx-primary .woocommerce-ordering select {
	color: #002261;
	border-color: #eee;
	border-radius: 0;
	padding: 12px;
}

/* price range slider */
body.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
body.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
	background-color: var(--e-global-color-dark-blue);
}

.woocommerce.widget_woocommerce_price_filter .price_slider_amount .price_label {
	color: #bbb;
	line-height: 2.4;
}

.woocommerce.widget_woocommerce_price_filter .price_slider_amount .btn {
	line-height: 1;
	font-size: 16px;
	background-color: var(--e-global-color-dark-blue);	
    padding: 8px 12px;	
}

div.woocommerce.widget_woocommerce_price_filter .from, 
div.woocommerce.widget_woocommerce_price_filter .to {
    font-weight: 400;
}

/* categories widget */
.jupiterx-sidebar .jupiterx-widget .current-cat a {
	color: var(--e-global-color-light-blue) !important;
}

div.widget_woocommerce_product_categories .children {
	display: block;
}

div.widget_woocommerce_product_categories .jupiterx-icon-plus:before {
    content: "\EA2C";
}

div.widget_woocommerce_product_categories .jupiterx-icon-minus:before {
    content: "\EA2F";
}

/* global woo responsivness */
@media only screen and (max-width: 992px) {
	.jupiterx-sidebar {
		margin-top: 60px;
	}
	
	.jupiterx-sidebar .jupiterx-widget:last-of-type {
		margin-bottom: 20px;
	}
}


@media only screen and (max-width: 768px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__link {
		width: 100%;
	}
	
	.woocommerce ul.products li.product .jupiterx-product-container {
		text-align: left;
	}
	
	.woocommerce ul.products li.product .button {
		margin-right: auto !important;
	}
}




/* ------------------------------------------------------------------------- *
 *  WooCommerce Single product
/* ------------------------------------------------------------------------- */

/* badge */
.woocommerce div.product .jupiterx-product-badges {
	text-align: left;
	position: absolute;
	left: 10px;
	top: 10px;
}

/* images */
body.woocommerce div.product div.images {
    margin-bottom: 80px;
}

/* summary */
body.woocommerce div.product div.summary {
    margin-bottom: 45px;
}

.woocommerce-loop-product__title:hover, 
.woocommerce-loop-product__title:focus {
    text-decoration: none !important;
}

/* price */
.woocommerce div.product p.price del, 
.woocommerce div.product span.price del,
body.woocommerce ul.products li.product .price del {
    opacity: 1;
    color: #bbb;
}

/* stock */
body.woocommerce div.product .out-of-stock {
	display: block;
}

.woocommerce div.product .jupiterx-product-badges .jupiterx-out-of-stock {
	padding: 5px 14px;
}

/* variations */
.woocommerce div.product form.cart .reset_variations {
	display: none !important;
}

body.woocommerce div.product form.cart .variations th {
    vertical-align: middle;
}

.woocommerce div.product form.cart .variations label {
	margin: 0;
}

body.woocommerce div.product form.cart .variations select {
    margin-right: 0;
}

.woocommerce-variation-description:has(p) {
    margin-bottom: 30px !important;
	padding: 30px;
    background: var(--e-global-color-f3f2c99);
}

.woocommerce-variation-description:has(p) p:last-child {
    margin-bottom: 0 !important; 
}

.product .cart:not(.variations_form),
.woocommerce-variation-add-to-cart {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: stretch;
}

.product .cart:not(.variations_form) .button,
.woocommerce-variation-add-to-cart .button {
	margin-left: 20px !important;
	flex: 1;
}

/* quantity */
body.woocommerce div.product form.cart div.quantity {
    margin: 0;
}

.woocommerce div.product form.cart div.quantity .input-group input {
	box-shadow: none;
	border: none;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

/* custom inquiry */
.woocommerce .button.send-inquiry {
	background-color: var(--e-global-color-68ef4a0b) !important;
	border: none;
	border-radius: 0;
	padding: 12px 25px;
	width: 50%;
	font-weight: 700;
}

/* tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	justify-content: stretch;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    flex: 1;
    text-align: center;
	padding: 5px 10px !important;
}

body.woocommerce div.product .woocommerce-tabs .panel {
	padding: 20px 20px 10px;
}

.woocommerce table.shop_attributes :where(th, td) {
	border: none !important;
}

body.woocommerce table.shop_attributes {
	border-top: none;
	margin-bottom: 0;
}

body.woocommerce div.product .woocommerce-tabs.accordion .card {
	border-radius: 0;
	border-bottom: none !important;
}
 
div.product .woocommerce-tabs {
	border-bottom: 1px solid #eee;
}

/* reviews */
.woocommerce #review_form #respond textarea {
	border-radius: 0;
	border-color: #eee;
}

body.woocommerce #respond input#submit {
    background: var(--e-global-color-secondary) !important;
    padding: 15px;
    border: none;
    border-radius: 0;
}

body.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
    font-size: 12px;
    color: #bbb;
}

body.woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin: 0;
    border: 1px solid #eee;
    border-radius: 0;
}

/* related products */
.woocommerce .products.related h2 {
    font-size: 34px;
    margin-bottom: 30px;
}

/* single product responsivness */
@media only screen and (max-width: 768px) {
	body.woocommerce div.product div.images {
		margin-bottom: 55px;
	}
	
	body.woocommerce div.product div.summary {
		margin-bottom: 60px;
	}
	
	.woocommerce .related.products ul {
		margin-bottom: 0;
	}
}





/* ------------------------------------------------------------------------- *
 *  WooCommerce cart & checkout
/* ------------------------------------------------------------------------- */

/* mini cart */
.woocommerce-mini-cart-item-content-heading {
    margin-bottom: 6px;
}

.woocommerce-mini-cart-item .woocommerce-mini-cart-item-image img {
	border-radius: 0 !important;
}

.woocommerce-mini-cart .remove_from_cart_button {
	display: none !important;
}

/* cart */
#ppcp-messages {
	display: none;
}

:is(.woocommerce-cart, .woocommerce-checkout) .jupiterx-main-content {
    padding: 0 0 40px 0;
}

.woocommerce-cart .woocommerce table.cart td.actions button.button {
    background-color: var(--e-global-color-secondary) !important;
}

.woocommerce-checkout #payment ul.payment_methods li input {
	width: auto;
}

	/* quantity */
.woocommerce-cart table.cart .quantity {
    border: 1px solid #eee;
}

.woocommerce .product-quantity div.quantity .btn {
    color: var(--e-global-color-secondary);
    background: transparent;
    padding: 5px;
}

.woocommerce .product-quantity div.quantity .btn  * {
    font-weight: 100;	
}

.woocommerce .product-quantity div.quantity input {
    border: none;
	box-shadow: none;
    color: var(--e-global-color-secondary);
}

	/* cart responsivness */
@media only screen and (max-width: 768px) {
	.woocommerce .cart-collaterals {
		margin-top: 50px;
	}
}

/* checkout */
	/* reconstruct layout */
@media only screen and (min-width: 768px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 40px;
	}
}

#customer_details {
	display: flex;
    flex-direction: column;
}

#customer_details > div {
	width: 100% !important; 
	float: none !important;
}

#order_review_heading,
wc-order-attribution-inputs {
	display: none;
}

	/* ship to different address + shipping methods */
.woocommerce #ship-to-different-address {
    margin: 5px 0 0;
}

div.woocommerce ul#shipping_method li input {
    margin: 5px .4375em 0 0;
    width: auto;
}

.woocommerce ul#shipping_method li:last-child {
	margin-bottom: 0;
}

.woocommerce-form__label-for-checkbox {
    font-size: 16px;
}

.woocommerce-form__label-for-checkbox input {
	width: auto !important;
	margin-right: 5px;
}

	/* payment methods */
div#add_payment_method #payment, 
form.woocommerce-checkout #payment {
    background: #f8f7f7;
    border-radius: 0;
}

body.woocommerce-checkout #payment div.payment_box {
	background-color: #fff;
}

body.woocommerce-checkout #payment div.payment_box:before {
	border-bottom-color: #fff;
}

	/* submit order */
.woocommerce-page #payment #place_order,
body.woocommerce-checkout .woocommerce .jupiterx-continue-shopping {
    float: none;
    width: 100%;
	margin: 0;
}

.woocommerce-page #payment #place_order {
	margin: 10px 0 15px;
}


/* thank you page */
body.woocommerce-order-received .woocommerce-customer-details address {
	border-radius: 0;
}

.wc-item-meta {
    padding: 0;
    margin-top: 10px;
}

body.woocommerce-order-received ul.woocommerce-order-overview {
	border-top: none;
	margin-bottom: 20px;
}

body .woocommerce ul.order_details {
	padding-left: 0;
}

.woocommerce ul.order_details li {
    font-size: 14px;
    color: #bbb;
	margin-bottom: 10px;
}

body .woocommerce ul.order_details li strong {
	font-size: 16px;
    line-height: 1.5em;
    color: var(--e-global-color-secondary);
}






/* ------------------------------------------------------------------------- *
 *  Blog
/* ------------------------------------------------------------------------- */

:is(.blog, .archive:not(.woocommerce-page)) .jupiterx-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 40px;
}

.archive:not(.woocommerce-page) .jupiterx-main-content {
    padding: 24px 0 40px;
}

article.jupiterx-post-loop {
    margin-bottom: 0;
}

.jupiterx-post-loop .jupiterx-post-body {
    display: flex;
    flex-direction: column-reverse;
	gap: 15px;
}

.raven-post-excerpt:after {
    content: '...';
    margin-left: 5px;
}

/* post thumb */
:is(.blog, .archive:not(.woocommerce-page)) .jupiterx-post-image img {
	border-radius: 100%;
}

/* post title */
body:not(.single) .jupiterx-post-title {
    color: var(--e-global-color-light-blue);
    font-size: var(--e-global-typography-0107f02-font-size);
    font-weight: var(--e-global-typography-0107f02-font-weight);
    line-height: var(--e-global-typography-0107f02-line-height);
}

.jupiterx-post-title a:hover {
	text-decoration: none !important;
}

/* badges */
.raven-post-meta-item {
	background: var(--e-global-color-dark-blue);
	padding: 4px 15px !important;
}

div.jupiterx-post-tags .btn {
	color: #fff;
    background: var(--e-global-color-dark-blue);
    border-radius: 0;
	box-shadow: none;
    margin: 0;
    padding: 4px 15px !important;
    font-size: 12px;
	text-transform: capitalize;
}

.jupiterx-post-tags {
	display: none;	
}

/* read more */
.btn.jupiterx-post-more-link {
	display: none;	
}

/* social share */
.jupiterx-social-share-link.btn {
    margin: 0 .3rem .3rem;
    border-radius: 100%;
    height: 42px;
}

/* related posts */
.jupiterx-post-related .card .wp-post-image {
	border-radius: 100%;
}

/* posts resposnivness */
@media only screen and (max-width: 768px) {
	.elementor-page .raven-posts.raven-grid {
		flex-wrap: nowrap;
		overflow-x: scroll;
		-ms-overflow-style: none; 
		scrollbar-width: none;
	}
	
	.elementor-page .raven-posts.raven-grid::-webkit-scrollbar {
		display: none;
	}
	
	.elementor-page .raven-posts.raven-grid .raven-post-item {
		min-width: 65vw;
	}
	
	/* social share */
	body.single-post .jupiterx-social-share-inner {
		justify-content: flex-start;
	}
	
	/* related posts */
	body.single-post .jupiterx-post-related {
		margin-top: 35px;
		margin-bottom: -20px;
	}
	
	.jupiterx-post-related .row {
		display: grid;
    	grid-template-columns: repeat(2, 1fr);
	}
	
}
