@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
    font-family: 'sibbaldia-light';
    src: url('Sibbaldia-Light.woff2') format('woff2'),
         url('Sibbaldia-Light.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'sibbaldia-med';
    src: url('Sibbaldia-Medium.woff2') format('woff2'),
         url('Sibbaldia-Medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

:root {

	--white: #FFFFFF;
	--forest-green: #00382b;
	--forest-green-hover: #0A604C;
	--fresh-green: #afe650;
	--fresh-green-hover: #D9FD9A;
	--off-white: #fffff0;
	--yellow: #ffd13d;
	--orange: #fa962d;
	--red: #ff6174;
	--pink: #f291c4;
	--blue: #78abe8;
	--jade: #66ccb8;
	--purple: #a696d6;

}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.public-sans-light {
  font-family: "Public Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.public-sans-reg {
  font-family: "Public Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.foreground-light:not(btn) {
	color: var(--off-white);
}

.foreground-forest:not(btn) {
	color: var(--forest-green);
}

.foreground-fresh:not(btn) {
	color: var(--fresh-green);
}

input:not([type="checkbox"]):not([type="radio"]) {

	padding:16px 20px;
	background: var(--off-white);
	font-size: 16px;
	line-height: 1;
	outline: none;
	border: 1px solid transparent;
	color: var(--forest-green);
	border-radius: 5px;
	width: 100%;

	&:placeholder {
		color: #000;
		opacity: .5;
	}

}

html {
	box-sizing: border-box;
}

body {

	font-family: "Public Sans", sans-serif;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
	padding: 0;
	color: var(--forest-green);
	background: var(--off-white);

	&.search-expanded {

		.theme-header .theme-header--flex .theme-header--controls .theme-header--controls-menu .search-modal {

			display: block;

		}

	}

	&.menu-drawer-expanded {
		.theme-header .theme-header--flex .theme-header--controls .theme-header--controls-menu {
			left: 0;
		}
	}

	.header--group {
		position: sticky;
		width: 100%;
		z-index: 9999;
		top:0;
		left: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--forest-green) 30%, transparent);
	}

	&.scrolled {

		.theme-header {
			background: rgba(0,56,43,.5);

			@media screen and (max-width: 768px) {
				padding: 16px 0;
			}

			.theme-header--flex {
				.theme-header--logo {
					.theme-header--logo-url {
						img, svg {
							&.logo-block {
								width: 80px;
								min-width: 80px;
							}
							path {
								fill: #fff !important;
							}
							@media screen and (max-width: 990px) {
								.logo-block--mobile-only {
									width: 100px;
									min-width: 100px;
								}
							}
						}
					}
				}
			}
		}

	}

	&[data-feature-header]{

		.header--group {

			position: fixed;
			border-bottom: none;

		}	

		&[data-template="index"]:not(.scrolled) {

			.theme-header {

				.theme-header--flex {
					.theme-header--logo {
						.theme-header--logo-url {
							img, svg {
								&.logo-block {
									width: 300px;
									min-width: 300px;
									@media screen and (max-width: 990px) {
										width: 120px;
										min-width: 120px;
									}
								}
							}
						}
					}
				}
			}

		}

	}

	&:not([data-feature-header]) {

		.theme-header {

			@media screen and (max-width: 768px) {
				padding: 10px 0;
			}

			.theme-header--flex {
				.theme-header--logo {
					.theme-header--logo-url {
						@media screen and (max-width: 990px) {
							.logo-web {
								display: none !important;
							}
							.logo-block--mobile-only {
								display: block !important;
								@media screen and (max-width: 768px) {
									width: 100px;
									min-width: 100px;
								}
							}
						}
					}
				}
			}
		}

	}

	&.cart-expand {

		overflow: hidden;

		.cart-drawer {

			opacity: 1;
			pointer-events: auto;

			.drawer {
				right: 0;
			}

		}

	}

}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'sibbaldia-med';
	margin: 0;
	line-height: 1.2;
	letter-spacing: -1px;
	font-weight: normal;
}

h1, .h1 {
	font-size: 80px;
	@media screen and (max-width: 768px) {
		font-size: 36px;
	}
}

h2, .h2 {
	font-size: 60px;
	@media screen and (max-width: 768px) {
		font-size: 32px;
	}
}

h3, .h3 {
	font-size: 38px;
	@media screen and (max-width: 768px) {
		font-size: 26px;
	}
}

h4, .h4 {
	font-size: 30px;
	@media screen and (max-width: 768px) {
		font-size: 24px;
	}
}

h5, .h5 {
	font-size: 26px;
	@media screen and (max-width: 768px) {
		font-size: 18px;
	}
}

h6, .h6 {
	font-size: 20px;
}

img {
	width: auto;
	max-width: 100%;
	display: block;
	height: unset;
}

a {
	text-decoration: none;
	color: var(--forest-green);
}

ul, ol {
	margin: 0;
	padding:0;
}

p {
	margin: 0 0 20px 0;
}

.btn-flex {
	display: flex;
}

.btn {

	text-transform: uppercase;
	font-family: 'sibbaldia-light';
	font-size: 19px;
	line-height: 1;
	padding: 13px 18px;
	align-items: center;
	gap: 5px;
	display: inline-flex;
	border-radius: 5px;
	transition: .3s all;
	border: 1px solid transparent;
	outline: none;
	cursor: pointer;

	&.btn_forest {
		background: var(--forest-green);
		border-color: var(--forest-green);
		color: var(--off-white);
		svg path {
			stroke: var(--off-white);
		}
		&:hover {
			background-color: var(--forest-green-hover);
		}
		&.btn_outline {
			color: var(--forest-green);
			svg path {
				stroke: var(--forest-green);
			}
			&:hover {
				color: var(--off-white);
				svg path {
					stroke: var(--off-white);
				}
			}
		}
	}

	&.btn_fresh {
		background: var(--fresh-green);
		border-color: var(--fresh-green);
		color: var(--forest-green);
		svg path {
			stroke: var(--forest-green);
		}
		&:hover {
			background-color: var(--fresh-green-hover);
		}
		&.btn_outline {
			color: var(--fresh-green);
			svg path {
				stroke: var(--fresh-green);
			}
			&:hover {
				color: var(--forest-green);
				svg path {
					stroke: var(--forest-green);
				}
			}
		}
	}

	&.btn_outline {
		background: transparent;
	}

	&.small-text {
		font-size: 16px;
	}

	&.fw {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	&.disabled,
	&[disabled] {
		opacity: .3;
		pointer-events: none;
	}

}

.page-container {

	max-width: 1280px;
	margin: 0 auto;
	padding: 0 40px;

	@media screen and (max-width: 768px) {
		padding: 0 20px;
	}

}

.custom-announcement-bar {

	width: 100%;
	padding: 8px 0;

	.announcement-text {

		display: flex;
		justify-content: center;
		gap: 6px;
		text-decoration: none;
		font-size: 14px;

		svg {
			width: 10px;
			height: unset;
		}

	}

}

.theme-header {

	width: 100%;
	padding: 28px 0;

	.theme-header--flex {

		display: flex;
		justify-content: space-between;

		@media screen and (max-width: 990px) {
			align-items: flex-start;
		}

		.theme-header--logo {

			display: flex;
			align-items: center;

			.theme-header--logo-url {

				display: block;

				img, svg {

					display: block;
					height: unset;
					transition: .4s all;

					&.logo-block {
						width: 190px;
						min-width: 190px;
						@media screen and (max-width: 990px) {
							width: 120px;
							min-width: 120px;
						}
					}

					&.logo-web {
						width: 500px;
						min-width: 500px;
						@media screen and (max-width: 990px) {
							width: 120px;
							min-width: 120px;
						}
					} 

					&.logo-block--mobile-only {
						display: none;
					}

				}

			}

			&.invert_logo {
				.theme-header--logo-url {
					svg path {
						fill: var(--forest-green) !important;
					}
				}
			}

		}

		.theme-header--controls {

			background: var(--forest-green);
			height: 53px;
			padding: 0 15px;
			display: flex;
			align-items: center;
			border-radius: 10px;
			gap: 20px;
			position: relative;

			@media screen and (max-width: 990px) {
				padding: 0;
				background: transparent;
				height: auto;
			}

			.theme-header--controls-menu {

				display: flex;
				gap: 20px;
				align-items: center;
				list-style: none;

				@media screen and (max-width: 990px) {
					
					position: fixed;
					top: 0;
					left: -100%;
					width: 100%;
					height: 100%;
					background: var(--off-white);
					z-index: 2;
					flex-direction: column;
					align-items: flex-start;
					gap: 0;
					padding: 20px 40px;
					max-height: 100dvh;
					overflow: auto;
					display: block;
					transition: .3s all;

				}

				@media screen and (max-width: 768px) {
					padding: 20px;
				}

				.mobile-drawer-header {

					display: none;

					@media screen and (max-width: 990px) {

						display: flex;
						justify-content: space-between;
						width: 100%;

						.logo-block {

							width: 100px;
							height: unset;

						}

						.close-icon {

							width: 40px;
							height: 40px;
							background: var(--forest-green);
							border-radius: 6px;
							display: flex;
							justify-content: center;
							align-items: center;

						}

					}

				}

				.search-modal {

                    position: absolute;
                    top: 100%;
                    right: 0;
                    background: var(--off-white);
                    padding: 24px 30px;
                    border-radius: 5px;
                    list-style: none;
                    max-width: min(calc(100vw - 140px), 1220px);
                    width: 1280px;
                    display: none;
                    max-height: 80dvh;
                    overflow: auto;

                    @media screen and (max-width: 990px) {

                    	position: static;
                    	padding: 20px 0;
                    	max-width: 100%;
                    	display: block;
                    	max-height: unset;

                    }

                    .pred-search-form {

                    	position: relative;
                    	max-width: 480px;
                    	width: 100%;
                    	margin: 0 auto;

                    	@media screen and (max-width: 990px) {
                    		max-width: 100%;
                    	}

                    	input {

                    		background: #fff;
                    		border: 1px solid var(--forest-green);

                    	}

                    	.btn {
                    		position: absolute;
                    		top: 50%;
                    		right: 2px;
                    		transform: translate(0, -50%);

                    		@media screen and (max-width: 990px) {
                    			background: url('icon-search.svg') no-repeat center center / 20px;
                    			font-size: 0px;
                    			text-indent: -9999px;
                    			width: 48px;
                    			height: 48px;
                    			padding: 0;
                    			border: none;
                    		}

                    	}

                    }

                    .search-close {

                    	position: absolute;
                    	top: 40px;
                    	right: 30px;
                    	cursor: pointer;

                    	@media screen and (max-width: 990px) {
                    		display: none;
                    	}

                    }

                    .predictive-search {

                    	margin: 30px 0 0 0;

                    	.predictive-search__empty {
                    		text-align: center;
                    	}

                    	.predictive-search__list {

                    		display: flex;
                    		flex-wrap: wrap;
                    		list-style: none;
                    		align-items: stretch;

                    		.predictive-search__item {

                    			width: 25%;

                    			@media screen and (max-width: 990px) {
                    				width: 33.3%;
                    			}

                    			@media screen and (max-width: 768px) {
                    				width: 50%;
                    			}

                    			.card-cart-item {

                    				padding: 0 7px 14px;
                    				height: 100%;

                    				.card-product {
                    					height: inherit;
                    				}

                    			}

                    		}

                    	}

                    	.clear-results {

                    		text-align: center;
                    		cursor: pointer;
                    		margin: 16px 0 0 0;

                    	}

                    }

                }

				.menu__item {

					@media screen and (max-width: 990px) {
						
						width: 100%;
						border-top: 1px solid color-mix(in srgb, var(--forest-green) 30%, transparent);

						&:last-child {
							border-bottom: 1px solid color-mix(in srgb, var(--forest-green) 30%, transparent);
						}

					}

					a {
						
						color: var(--off-white);
						transition: .3s all;
						
						@media screen and (max-width: 990px) {
							display: block;
							color: var(--forest-green);
							font-family: 'sibbaldia-light';
							letter-spacing: 0;
						}

						@media screen and (min-width: 990px) {
							&:hover {
								color: var(--fresh-green);
							}
						}

						&.menu__item-primary {
							display: flex;
							align-items: center;
							gap: 4px;
							padding: 19px 0;
						}

					}

					&.has_children {

						a.menu__item-primary {
							
							position: relative;

							@media screen and (max-width: 990px) {
								display: flex;
								justify-content: space-between;
							}

							&::after {
								content:'';
								position: absolute;
								bottom: 0;
								left: 50%;
								width: 33px;
								height: 20px;
								background: url('icon-menu-after.svg') no-repeat center center / contain;
								opacity: 0;
								transform: translate(-50%, 0);
								@media screen and (max-width: 990px) {
									display: none;
								}
							}

							@media screen and (max-width: 990px) {
								svg {
									width: 13px;
									height: unset;
									path {
										stroke: var(--forest-green);
									}
								}
							}
						}

						.submenu {

							@media screen and (max-width: 990px) {

								position: static;
								border-radius: 0;
								width: 100%;
								display: none;
								width: 100%;
								max-width: 100%;
								margin: 0;
								padding: 0;

								a {

									padding: 19px 10px;

								}

							}

						}

						&.expanded {

							@media screen and (max-width: 990px) {

								.submenu {

									display: block;

								}

							}

						}

					}

					@media screen and (min-width: 990px) {

						&:hover {

							a {
								&.menu__item-primary::after {
									opacity: 1;
								}
							} 

							.submenu--level-2 {
								display: flex;
								flex-wrap: wrap;
							}

						}

					}

					.submenu--level-2 {

						display: none;
						position: absolute;
						top: 100%;
						right: 0;
						background: var(--off-white);
						padding: 24px 30px;
						border-radius: 5px;
						list-style: none;
						max-width: min(calc(100vw - 140px), 1220px);

						@media screen and (max-width: 990px) {
							width: 100% !important;
						}

						&.col-full {
							width: 1280px;
							row-gap: 30px;
							li.submenu__item-2 {
								width: 25%;
							}
						}

						&.col-triple {
							width: 960px;
							li.submenu__item-2 {
								width: 33.3%;
							}
						}

						&.col-double {
							width: 640px;
							li.submenu__item-2 {
								width: 50%;
							}
						}

						&.col-single {
							width: 320px;
							li.submenu__item-2 {
								width: 100%;
							}
						}

						li {

							&.submenu__item-2 {

								@media screen and (max-width: 990px) {

									width: 100% !important;
									border-top: 1px solid color-mix(in srgb, var(--forest-green) 30%, transparent);

								}

								> a {
									font-family: 'sibbaldia-med';
									font-size: 20px;
									display: flex;
									align-items: center;
									gap: 4px;

									@media screen and (max-width: 990px) {
										font-family: 'sibbaldia-light';
										font-size: 16px;
										padding: 19px 20px;
										svg {
											display: none;
										}
									}

								}

								&.has_g-children {

									@media screen and (max-width: 990px) {

										> a {

											position: relative;

											&::after {

												content:'';
				    							position: absolute;
				    							top: 50%;
				    							right: 0;
				    							width: 14px;
				    							height: 14px;
				    							background: url('icon-chev-down.svg') no-repeat center center / contain;
				    							transform: translate(0, -50%);
				    							transition: .2s all;

											}

										}

										&.expanded {

											> a {

												&::after {
					    							transform: translate(0, -50%) rotate(180deg);
												}

											}

											.submenu--level-3 {

												display: block !important;

											}

										}

									}

								}

							}

							a {

								color: var(--forest-green);

							}

							.submenu--level-3 {

								list-style: none;
								width: 100%;
								margin-top: 8px;
								padding-top: 12px;
								border-top: 1px solid var(--forest-green);
								display: flex;
								flex-direction: column;
								gap: 10px;

								@media screen and (max-width: 990px) {
									
									border: none;
									margin: 0 0 20px 0;
									padding: 0;
									display: none !important;

									li {

										a {

											padding:10px 20px;
											font-family: "Public Sans", sans-serif;
											
										}

									}


								}

							}

						}

					}
				
				}

			}

			.theme-header--controls-icons {

				display: flex;
				align-items: center;
				gap: 20px;

				@media screen and (max-width: 990px) {
					gap: 8px;
				}

				.control-icon {

					cursor: pointer;
					position: relative;

					@media screen and (max-width: 990px) {

						width: 40px;
						height: 40px;
						border-radius: 6px;
						background: var(--forest-green);
						display: flex;
						justify-content: center;
						align-items: center;

					}

					&.control-icon--search {
						@media screen and (max-width: 990px) {
							display: none;
						}
					}

					&.control-icon--device-menu {
						display: none;
						@media screen and (max-width: 990px) {
							display: flex;
							background: var(--fresh-green);
						}
					}

				}

			}

		}

	}

} /* theme-header */

.slick-arrow {

	width: 42px;
	height: 42px;
	border-radius: 50%;
	padding: 0;
	border: none;
	background: url('icon-slick-light.svg') no-repeat center center / 20px var(--forest-green);
	cursor: pointer;
	text-indent: -9999px;
	font-size: 0;
	z-index: 2;
	transition: .3s all;

	&.slick-prev {
		transform: rotate(180deg);
	}

	&:hover {
		opacity: .9;
	}

}

.slick-arrow-light {

	.slick-arrow {

		background: url('icon-slick-green.svg') no-repeat center center / 20px var(--off-white);

	}

}

.card-collection {

	display: block;
	width: 100%;
	padding: 6px;
	background: #fff;
	border: 1px solid var(--fresh-green);
	border-radius: 8px;
	transition: .3s all;

	.collection-image {
		aspect-ratio: 1/0.5;
		border-radius: 4px;
		object-fit: cover;
	}

	.image-placeholder {
		width: 100%;
		aspect-ratio: 1/0.5;
		background: #eee;
		border-radius: 4px;
		display: block;
	}

	.card-collection--flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 16px 20px;
		.card-collection__count,
		.card-collection__title {
			margin: 0;
			font-family: 'sibbaldia-light';
			@media screen and (max-width: 768px) {
				font-size: 16px;
			}
		}
	}

	&:hover {

		border-color: var(--forest-green);

	}

}

.card-product {

	background: #fff;
	width: 100%;
	border-radius: 8px;
	box-shadow: 0 0 4px 2px rgba(0,0,0,0.1);
	padding: 6px 6px 60px 6px;
	position: relative;

	.card-product__media {

		display: block;
		width: 100%;
		position: relative;
		border-radius: 4px;
		overflow: hidden;

		img {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		&.card-product__media-placeholder {
			background: #eee;
		}

		&.ratio-portrait {
			aspect-ratio: 1/1.2;
		}

		&.ratio-square {
			aspect-ratio: 1/1;
		}

	}

	.card-product__meta {

		padding: 14px 12px 20px;

		@media screen and (max-width: 768px) {
			padding: 14px 10px 20px;
		}

		.card-product__title {

			font-family: 'sibbaldia-light';
			margin: 0 0 10px 0;

			@media screen and (max-width: 768px) {
				font-size: 16px;
			}

		}

		.card-product__price {

			margin: 0;
			font-size: 18px;
			letter-spacing: -1px;

			@media screen and (max-width: 768px) {
				font-size: 16px;
			}

			.price--compare {
				font-size: 15px;
				opacity: .5;
			}

			.price--from {
				font-size: 14px;
				font-weight: 300;
				letter-spacing: 0;
			}

		}

		.card-product__tags {

			display: flex;
			flex-wrap: wrap;
			gap: 6px;
			margin: 10px 0 0 0;
			list-style: none;

			span {
				text-transform: uppercase;
				padding: 6px 14px;
				font-size: 12px;
				border-radius: 3px;
				font-weight: 500;
				display: block;
			}

		}

		.btn-flex {
			position: absolute;
			bottom: 20px;
			left: 20px;
			width: calc(100% - 40px);
			@media screen and (max-width: 768px) {
				width: calc(100% - 20px);
				left: 10px;
				bottom: 10px;
			}
			.btn {
				padding: 13px 0; 
				@media screen and (max-width: 768px) {
					font-size: 12px;
				}
			}
		}

	}

}

.theme-footer {

	width: 100%;

	.theme-footer__newsletter {

		background: var(--forest-green);
		width: 100%;
		padding: 80px 0 120px;

		@media screen and (max-width: 768px) {

			padding: 40px 0 80px;

		}

		.newsletter__inner {

			width: 630px;
			margin: 0 auto;
			max-width: 100%;

			.block-title {
				color: var(--fresh-green);
				margin: 0 0 35px 0;
				text-align: center;
				@media screen and (max-width: 768px) {
					margin: 0 0 20px 0;
				}
			}	

			.block-subtitle {
				color: var(--off-white);
				margin: 0;
				font-family: 'sibbaldia-light';
			}

			.newsletter-form {

				margin: 10px 0 0 0;

				@media screen and (max-width: 768px) {
					margin: 20px 0 0 0;
				}

				label {
					display: block;
					color: var(--off-white);
					margin: 0 0 8px 0;
				}

				.field {

					position: relative;

					input {

					}

					.btn {
						position: absolute;
						top: 50%;
						right: 6px;
						transform: translate(0, -50%);
						white-space: nowrap;
						@media screen and (max-width: 768px) {
							font-size: 0;
							text-indent: -9999px;
							width: 38px;
							height: 38px;
							padding: 0;
						}
						svg {
							display: none;
							@media screen and (max-width: 768px) {
								display: block;
								margin-left: 4px;
							}
						}
					}

				}

				.form--disclaimer {
					color: var(--off-white);
					font-size: 14px;
					margin: 14px 0 0 0;
					@media screen and (max-width: 768px) {
						font-size: 12px;
						line-height: 1.5;
					}
					a {
						color: var(--off-white);
						text-decoration: underline;
					}
				}

				.form--success-msg {
					color: var(--fresh-green);
				}

			}

		}

	}

	.theme-footer__footer {

		background: var(--fresh-green);
		padding: 32px;
		position: relative;

		@media screen and (max-width: 768px) {
			padding: 20px;
		}

		.back-to-top {

			position: absolute;
			top: -20px;
			left: 50%;
			transform: translate(-50%, 0);
			display: flex;
			align-items: center;
			gap: 10px;
			height: 52px;
			padding: 0 60px;
			font-family: 'sibbaldia-light';
			background: var(--fresh-green);
			border-radius: 5px;
			cursor: pointer;
			font-size: 19px;
			transition: .2s all;

			@media screen and (max-width: 990px) {
				width: calc(100% - 40px);
				justify-content: center;
				font-size: 16px;
				top: -35px;
			}

			svg {
				transform: rotate(-90deg);
			}

			&:hover {
				top: -25px;
			}

		}

		.theme-footer__footer-inner {

			width: 100%;
			background: var(--off-white);
			padding: 90px 0;
			border-radius: 20px;

			@media screen and (max-width: 990px) {
				padding: 40px 0;
			}

			.theme-footer__footer-logo {
				margin: 0 0 40px 0;
				@media screen and (max-width: 990px) {
					svg {
						width: 140px;
						height: unset;
					}
				}
			}

			.theme-footer__footer-menu-flex {

				display: flex;
				flex-wrap: wrap;
				border-bottom: 1px solid color-mix(in srgb, var(--forest-green) 30%, transparent);
				padding: 0 0 40px 0;

				@media screen and (max-width: 990px) {
					padding: 0;
					margin-bottom: 40px;
				}

				.theme-footer__menu {

					width: 25%;
					padding: 0 30px 0 0;
					margin: 0;
					list-style: none;

					@media screen and (max-width: 990px) {
						width: 100%;
						padding: 0;
					}

					.menu__title {

						font-family: 'sibbaldia-med';
						padding: 0 0 20px 0;
						margin: 0 0 20px 0;
    					border-bottom: 1px solid color-mix(in srgb, var(--forest-green) 30%, transparent);
    					font-size: 25px;

    					@media screen and (max-width: 990px) {
    						border: none;
    						border-top: 1px solid color-mix(in srgb, var(--forest-green) 30%, transparent);
    						margin: 0;
    						padding: 16px 20px 16px 0;
    						font-size: 18px;
    						position: relative;

    						&::after {
    							content:'';
    							position: absolute;
    							top: 50%;
    							right: 0;
    							width: 14px;
    							height: 14px;
    							background: url('icon-chev-down.svg') no-repeat center center / contain;
    							transform: translate(0, -50%);
    							transition: .2s all;
    						}


    					}

    					@media screen and (max-width: 768px) {
    						font-size: 14px;
    					}

					}

					.menu__item {

						@media screen and (max-width: 990px) {
							display: none;
						}

						a {
							display: inline-flex;
							align-items: center;
							margin: 0 0 10px 0;
							gap: 6px;

							@media screen and (max-width: 768px) {
								font-size: 14px;
							}
							
							&:hover {
								text-decoration: underline;
							}

						}

					}

					@media screen and (max-width: 990px) {

						&.expanded {

							padding-bottom: 20px;

							.menu__title::after {
								transform: translate(0, -50%) rotate(180deg);
							}

							.menu__item {
								display: block;
							}

						}

					}

				}

			}

			.theme-footer__bottom-flex {

				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				padding: 50px 0 0 0;

				@media screen and (max-width: 990px) {
					padding: 0;
				}

				.theme-footer__bottom-copyright {

					width: 45%;

					@media screen and (max-width: 990px) {
						width: 100%;
					}

					.copyright {
						margin: 0;
						font-size: 14px;
						@media screen and (max-width: 768px) {
							font-size: 12px;
						}
					}

					.theme-footer__bottom-payment-icons {

						ul {

							display: flex;
							flex-wrap: wrap;
							gap: 6px;
							list-style: none;
							margin: 16px 0 0 0;

							li {
								svg {
									width: 40px;
									height: unset;
								}
							}

						}

					}

				}

				.theme-footer__bottom-social {

					width: 45%;

					@media screen and (max-width: 990px) {
						width: 100%;
						order: -1;
						padding-bottom: 20px;
					}

					p {
						margin: 0;
						font-size: 25px;
						font-family: 'sibbaldia-med';
					}

					.list-social {
						margin: 10px 0 0 0;
						list-style: none;
						display: flex;
						flex-wrap: wrap;
						gap: 15px;

						@media screen and (max-width: 990px) {
							gap: 10px;
						}

						li {

							a {

								width: 59px;
								height: 59px;
								background: var(--forest-green);
								color: var(--off-white);
								border-radius: 5px;
								display: flex;
								justify-content: center;
								align-items: center;
								transition: .3s all;

								@media screen and (max-width: 768px) {
									width: 46px;
									height: 46px;
								}

								svg {
									min-width: 24px;
									min-height: 24px;
									object-fit: contain;
								}

								&:hover {
									opacity: .9;
								}

							}

						}

					}

				}

			}

		}

	}

}


.cart-drawer {

	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	z-index: 99999;
	opacity: 0;
	pointer-events: none;
	transition: .3s all;

	.drawer {

		position: absolute;
		top: 0;
		right: -600px; 
		max-height: 100dvh;
		height: 100%;
		width: 500px;
		background: var(--forest-green);
		padding: 30px 0 0;
		color: var(--off-white);
		transition: .4s all;

		@media screen and (max-width: 768px) {
			width: 100%;
			right: -100%;
			padding-top: 20px;
		}

		.head {

			display: flex;
			justify-content: space-between;
			align-items: center;
			margin: 0 0 30px 0;
			padding: 0 40px;

			@media screen and (max-width: 768px) {
				padding: 0 20px;
				margin-bottom: 20px;
			}

			p {
				margin: 0;
				font-family: 'sibbaldia-light';
			}

			.close {
				cursor: pointer;
			}

		}

		#cart-rerender {

			height: calc(100% - 62px);
			overflow: auto;

			&.no-items {
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				.flex {
					height: unset !important;
				}
			}

			.flex {

				height: 100%;

				.cart-container {

					padding: 0 40px 20px;

					@media screen and (max-width: 768px) {
						padding: 0 20px 20px;
					}

					.cart-output {

						display: flex;
						flex-direction: column;
						gap: 6px;

						.item {

							width: 100%;

							.card-cart-item {

								width: 100%;
								background: var(--off-white);
								color: var(--forest-green);
								border-radius: 8px;
								padding: 6px;
								display: flex;
								justify-content: space-between;

								.card-cart-item--media {

									width: 112px;

									img {

										width: 100%;
										object-fit: cover;
										border-radius: 4px;

									}

									&.ratio-portrait img {
										aspect-ratio: 1/1.3;
									}

									&.ratio-square img {
										aspect-ratio: 1/1;
									}

								}

								.card-cart-item--meta {

									width: calc(100% - 132px);
									position: relative;

									.card-cart-item--title {

										margin: 10px 0 20px 0;

										a {
											display: block;
											font-family: 'sibbaldia-light';
											font-size: 16px;
										}

										.card-cart-item--variant,
										.card-cart-item--property {
											display: block;
											font-size: 14px;
											opacity: .6;
											margin: 4px 0 0 0;
										}

									}

									.price {

										font-size: 14px;
										font-weight: 500;
										margin: 0 0 25px 0;

									}

									.cart-remove-item {

										padding: 0;
										background: none;
										border: none;
										color: var(--forest-green);
										cursor: pointer;

									}

									.qty-selection {

										position: absolute;
										bottom: 10px;
										right: 10px;

										.controls {

											width: 100px;
											height: 40px;
											border: 1px solid var(--forest-green);
											border-radius: 4px;
											display: flex;

											span {
												height: 100%;
												width: 40px;
												position: relative;
												cursor: pointer;

												&::before,
												&::after {
													content:'';
													position: absolute;
													top: 50%;
													left: 50%;
													width: 10px;
													height: 1px;
													background: var(--forest-green);
													transform: translate(-50%, -50%);
												}
												&[data-qty-minus]{
													&::after {
														display: none;
													}
												}
												&[data-qty-plus]{
													&::after {
														transform: translate(-50%, -50%) rotate(90deg);
													}
												}
											}

											input {
												padding: 0;
												width: 40px;
												text-align: center;
												&[type="number"]::-webkit-outer-spin-button,
												&[type="number"]::-webkit-inner-spin-button {
													-webkit-appearance: none;
													margin: 0;
												}

												&[type="number"] {
													-moz-appearance: textfield;
													appearance: textfield;
												}
											}

										}

									}

								}

							}

						}

					}

					.no-items {

						text-align: center;

						span {
							display: block;
							margin: 0 0 20px 0;

						}

					}

				}

			}

			&:not(.no-items) {

				.flex {

					display: flex;
					flex-direction: column;
					justify-content: space-between;


				}

			}

			.cart-footer {

				border-top: 1px solid color-mix(in srgb, var(--off-white) 30%, transparent);

				.gift-messaging {

					padding: 16px 40px;
					border-bottom: 1px solid color-mix(in srgb, var(--off-white) 30%, transparent);

					@media screen and (max-width: 768px) {
						padding: 16px 20px;
					}

					&.gift-messaging-expand {

						.gift-messaging--field {
							display: block;
						}

					}

					.gift-messaging--toggle {

						font-weight: 500;
						text-decoration: underline;
						cursor: pointer;

					}

					.gift-messaging--field {
						
						display: none;

						textarea {

							border: 1px solid var(--off-white);
							border-radius: 4px;
							color: var(--off-white);
							background: var(--forest-green-hover);
							padding: 20px;
							font-family: "Public Sans", sans-serif;
							width: 100%;
							font-size: 16px;
							margin: 14px 0 0 0;
							height: 120px;

							&::placeholder {
								font-family: "Public Sans", sans-serif;
								color: var(--off-white);
							}

						}

					}

				}

				.group {

					padding: 20px 40px;
					display: flex;
					justify-content: space-between;
					font-size: 18px;
					font-weight: 500;

					@media screen and (max-width: 768px) {
						padding: 20px;
					}

				}

				.btn-flex {

					padding: 0 40px;

				}

				.disclaimer {
					margin: 14px 0 0 0;
					padding: 0 40px;
					font-size: 12px;
					text-align: center;
					a {
						color: var(--off-white);
						text-decoration: underline;
					}
				}

			}

		}

	}

}

