:root {
	--cm-purple: #631abd;
	--cm-shell-tint: #f9f4ff;
	--cm-text: #19131f;
}

@font-face {
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../../../../uploads/elementor/google-fonts/fonts/robotocondensed-ievl2zhzi2ecn5jzbjeets9weq8-19-7drs5.woff2") format("woff2");
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../../../../uploads/elementor/google-fonts/fonts/montserrat-jtusjig1_i6t8kchkm459wlhyw.woff2") format("woff2");
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../../../../uploads/elementor/google-fonts/fonts/montserrat-jtusjig1_i6t8kchkm459wlhyw.woff2") format("woff2");
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 700 800;
	font-display: swap;
	src: url("../../../../uploads/elementor/google-fonts/fonts/montserrat-jtusjig1_i6t8kchkm459wlhyw.woff2") format("woff2");
}

.cm-site-header,
.cm-site-header * {
	box-sizing: border-box;
}

.cm-site-header {
	position: relative;
	z-index: 1000;
	width: 100%;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 15px;
	line-height: 1.2;
}

.cm-header-main {
	height: 87px;
	background: var(--cm-shell-tint);
}

.cm-header-main-inner {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 45px 0 30px;
}

.cm-site-branding {
	flex: 0 0 auto;
	width: 175px;
	height: 56px;
	margin-right: auto;
}

.cm-site-branding .custom-logo-link,
.cm-site-branding .custom-logo {
	display: block;
	width: 100%;
	height: 100%;
}

#masthead .cm-site-branding .custom-logo {
	width: 100%;
	height: 100%;
	object-fit: contain;
	max-width: none;
}

.cm-header-search {
	flex: 0 0 280px;
	width: 280px;
	height: 44px;
}

.cm-header-search .aws-container,
.cm-header-search .aws-search-form,
.cm-header-search .aws-wrapper {
	width: 100%;
	height: 100%;
}

.cm-header-search .aws-search-field,
.cm-header-search input[type="search"] {
	width: 100%;
	height: 44px;
	padding: 6px 12px;
	border: 1px solid #d8d3db;
	border-radius: 0;
	background: #fafafa;
	box-shadow: none;
	color: #4d4750;
	font-size: 16px;
	line-height: 30px;
}

.cm-account-link {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
}

.cm-account-link--desktop {
	flex: 0 0 187px;
	height: 45px;
	margin-left: 20px;
	background: var(--cm-purple);
	color: #fff;
}

.cm-account-link--desktop:hover,
.cm-account-link--desktop:focus {
	background: #51149d;
	color: #fff;
}

.cm-cart-link {
	position: relative;
	display: flex;
	flex: 0 0 129px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 129px;
	height: 45px;
	margin-left: 114px;
	border: 1px solid #8b818f;
	background: transparent;
	color: #4c454f;
	font-family: inherit;
	font-size: 15px;
}

.cm-cart-link:hover,
.cm-cart-link:focus {
	border-color: var(--cm-purple);
	color: var(--cm-purple);
}

.cm-cart-subtotal .woocommerce-Price-currencySymbol {
	margin-right: 1px;
}

.cm-cart-icon {
	position: relative;
	display: inline-flex;
	width: 20px;
	height: 20px;
}

.cm-cart-icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.cm-cart-count {
	position: absolute;
	top: -9px;
	right: -9px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 50%;
	background: #e14c5a;
	color: #fff;
	font-size: 10px;
	line-height: 1;
}

.cm-cart-label {
	display: none;
}

.cm-primary-nav {
	position: relative;
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 60px;
	background: var(--cm-purple);
}

.cm-primary-menu {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.cm-primary-menu li {
	margin: 0;
}

.cm-primary-menu a {
	display: block;
	padding: 10px 20px;
	color: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 15.2px;
	font-weight: 600;
	line-height: 20px;
	text-transform: uppercase;
}

.cm-primary-menu a:hover,
.cm-primary-menu a:focus {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cm-menu-toggle,
.cm-account-link--mobile,
.cm-header-search-row {
	display: none;
}

@media (min-width: 1025px) {
	.cm-site-header {
		height: 127px;
	}

	.cm-header-main {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 1001;
	}

	.admin-bar .cm-header-main {
		top: 32px;
	}

	.cm-primary-nav {
		position: absolute;
		top: 87px;
		right: 0;
		left: 0;
	}

	.cm-primary-menu li:not(:last-child) {
		margin-right: 1px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.cm-header-main {
		height: 125px;
		background: #fff;
	}

	.cm-header-main-inner {
		position: relative;
		padding: 0 20px 0 30px;
	}

	.cm-site-branding {
		position: absolute;
		top: 10px;
		left: 30px;
		width: 189px;
		height: 61px;
	}

	.cm-header-search--desktop {
		position: absolute;
		right: 202px;
		bottom: 0;
		width: 294px;
		flex-basis: 294px;
	}

	.cm-account-link--desktop {
		position: absolute;
		top: 20px;
		right: 202px;
		width: 182px;
		height: 41px;
		margin: 0;
		font-size: 13px;
	}

	.cm-cart-link {
		position: absolute;
		top: 17px;
		right: 20px;
		width: 131px;
		height: 47px;
		margin: 0;
	}

	.cm-primary-nav {
		height: 96px;
		padding: 20px;
	}

	.cm-primary-menu {
		align-content: center;
		justify-content: center;
		flex-wrap: nowrap;
	}

	.cm-primary-menu a {
		padding: 18px 6px;
		font-size: 11px;
		line-height: 20px;
	}

	.cm-primary-menu li:not(:last-child) {
		margin-right: 1px;
	}
}

@media (max-width: 767px) {
	.cm-header-main {
		height: 80px;
	}

	.cm-header-main-inner {
		position: relative;
		padding: 0;
	}

	.cm-site-branding {
		position: absolute;
		top: 17px;
		left: 30px;
		width: 145px;
		height: 46px;
	}

	.cm-header-search--desktop,
	.cm-account-link--desktop {
		display: none;
	}

	.cm-cart-link {
		position: absolute;
		top: 17px;
		right: 1px;
		width: 131px;
		height: 47px;
		margin: 0;
	}

	.cm-primary-nav {
		height: 65px;
		padding: 10px 20px;
	}

	.cm-menu-toggle {
		position: absolute;
		top: 10px;
		left: 33px;
		display: block;
		width: 45px;
		height: 45px;
		padding: 8px;
		border: 0;
		background: transparent;
		color: #fff;
		cursor: pointer;
	}

	.cm-menu-toggle > span[aria-hidden="true"],
	.cm-menu-toggle > span[aria-hidden="true"]::before,
	.cm-menu-toggle > span[aria-hidden="true"]::after {
		position: absolute;
		left: 8px;
		display: block;
		width: 29px;
		height: 3px;
		border-radius: 1px;
		background: currentColor;
		content: "";
	}

	.cm-menu-toggle > span[aria-hidden="true"] {
		top: 21px;
	}

	.cm-menu-toggle > span[aria-hidden="true"]::before {
		top: -9px;
		left: 0;
	}

	.cm-menu-toggle > span[aria-hidden="true"]::after {
		top: 9px;
		left: 0;
	}

	.cm-site-header.is-menu-open .cm-menu-toggle > span[aria-hidden="true"] {
		background: transparent;
	}

	.cm-site-header.is-menu-open .cm-menu-toggle > span[aria-hidden="true"]::before {
		top: 0;
		transform: rotate(45deg);
	}

	.cm-site-header.is-menu-open .cm-menu-toggle > span[aria-hidden="true"]::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.cm-account-link--mobile {
		position: absolute;
		top: 14px;
		right: 6px;
		display: flex;
		width: 160px;
		height: 37px;
		background: var(--cm-shell-tint);
		color: var(--cm-text);
		font-size: 13px;
	}

	.cm-primary-menu {
		position: absolute;
		top: 65px;
		left: 0;
		display: none;
		width: 100%;
		max-width: none;
		padding: 0;
		background: #f2f2f2;
		box-shadow: 0 8px 14px rgba(37, 19, 52, 0.16);
		z-index: 9997;
	}

	.cm-site-header.is-menu-open .cm-primary-menu {
		display: block;
	}

	.cm-primary-menu a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 48px;
		padding: 10px 20px;
		background: transparent;
		color: #000;
		font-size: 13px;
		line-height: 20px;
	}

	.cm-primary-menu a:hover,
	.cm-primary-menu a:focus {
		background: var(--cm-purple);
		color: #fff;
		text-decoration: none;
	}

	.cm-header-search-row {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		height: 69px;
		padding-top: 10px;
		background: var(--cm-shell-tint);
	}

	.cm-header-search--mobile {
		display: block;
		width: 245px;
		height: 44px;
		flex-basis: 245px;
	}
}

@media (max-width: 360px) {
	.cm-site-branding {
		left: 20px;
		width: 132px;
	}

	.cm-cart-link {
		width: 124px;
	}

	.cm-account-link--mobile {
		right: 10px;
		width: 150px;
	}
}

.cm-site-footer,
.cm-site-footer * {
	box-sizing: border-box;
}

.cm-site-footer {
	clear: both;
	width: 100%;
	color: #4b4f58;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.65;
}

.cm-site-footer a {
	color: #0170b9;
}

.cm-site-footer a:hover,
.cm-site-footer a:focus {
	color: #014f82;
}

.cm-footer-updated {
	height: 419px;
	padding: 20px 0;
	background: #eee;
}

.cm-footer-updated-inner {
	width: min(1200px, 100%);
	height: 379px;
	margin: 0 auto;
}

.cm-footer-heading {
	height: 32px;
	margin: 0 0 21px;
	color: #3a3a3a;
	font-size: 21px;
	font-weight: 600;
	line-height: 31.5px;
	text-align: center;
}

.cm-updated-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	height: 326px;
}

.cm-updated-list,
.cm-footer-links,
.cm-footer-vendors {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cm-updated-list {
	padding-top: 10px;
	text-align: center;
}

.cm-updated-list li {
	height: 51px;
	margin: 0;
	line-height: 24.75px;
}

.cm-updated-list a {
	text-decoration: underline;
	text-underline-offset: 1px;
}

.cm-footer-main {
	height: 215px;
	padding: 45px 0;
	background: #f9f9f9;
}

.cm-footer-main-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: calc(100% - 70px);
	max-width: 1450px;
	height: 125px;
	margin: 0 auto;
}

.cm-footer-links li {
	height: 24.75px;
	line-height: 24.75px;
}

.cm-footer-navigation {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-left: 25px;
}

.cm-footer-vendors {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	line-height: 24.75px;
}

.cm-footer-vendors a {
	display: block;
	padding: 0 10px;
}

.cm-footer-disclaimer {
	max-width: 620px;
	margin: 22px auto 0;
	line-height: 24.75px;
	text-align: center;
}

.cm-footer-copyright {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	height: 121px;
	padding: 20px;
	background: #fff;
	text-align: center;
}

.cm-footer-copyright p {
	margin: 0;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.cm-site-footer {
		font-size: 13.68px;
		line-height: 22.572px;
	}

	.cm-footer-updated-inner {
		width: 100%;
	}

	.cm-footer-heading {
		height: 29px;
		margin-bottom: 19px;
		font-size: 19.152px;
		line-height: 28.728px;
	}

	.cm-updated-grid {
		height: 322px;
	}

	.cm-updated-list {
		padding-top: 10px;
	}

	.cm-updated-list li {
		height: 50px;
		line-height: 22.572px;
	}

	.cm-footer-main {
		height: 495px;
	}

	.cm-footer-main-inner {
		height: 405px;
	}

	.cm-footer-links li,
	.cm-footer-vendors li {
		height: 22.572px;
		line-height: 22.572px;
	}

	.cm-footer-vendors {
		display: block;
		text-align: center;
	}

	.cm-footer-disclaimer {
		margin-top: 20px;
		line-height: 22.572px;
	}
}

@media (max-width: 767px) {
	.cm-site-footer {
		font-size: 13.68px;
		line-height: 22.572px;
	}

	.cm-footer-updated {
		height: 747px;
	}

	.cm-footer-updated-inner {
		width: 100%;
		height: 707px;
	}

	.cm-footer-heading {
		height: 29px;
		margin-bottom: 19px;
		font-size: 19.152px;
		line-height: 28.728px;
	}

	.cm-updated-grid {
		display: block;
		height: 649px;
	}

	.cm-updated-list {
		height: 160px;
		padding-top: 0;
	}

	.cm-updated-list:last-child {
		height: 169px;
	}

	.cm-updated-list li {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 26.5px;
		padding: 0 20px;
		line-height: 22.572px;
	}

	.cm-footer-main {
		height: auto;
		min-height: 1095px;
		padding: 45px 35px;
	}

	.cm-footer-main-inner {
		display: block;
		width: 100%;
		height: auto;
	}

	.cm-footer-links li,
	.cm-footer-vendors li {
		display: flex;
		align-items: center;
		height: 48px;
		line-height: 22.572px;
	}

	.cm-footer-links a {
		width: 100%;
	}

	.cm-footer-navigation {
		align-items: stretch;
		padding: 20px 0 0;
	}

	.cm-footer-vendors {
		display: block;
		text-align: left;
	}

	.cm-footer-vendors a {
		width: 100%;
		padding: 0 20px;
	}

	.cm-footer-disclaimer {
		margin-top: 20px;
		line-height: 22.572px;
	}

	.cm-footer-copyright {
		height: 121px;
		font-size: 13.68px;
		line-height: 22.572px;
	}
}