/*----------------------------------------------------------------
	mtm: Angels
	Version: 1.0
-----------------------------------------------------------------*/

:root {
	--cnvs-themecolor:  #385147;
	--cnvs-themecolor-rgb: 56, 81, 71;
	--cnvs-color-light: #D7E472;
	--cnvs-color-white: #FEFAF3;
	--cnvs-color2: #617C5D;
	--cnvs-color3: #617C5D;
	--cnvs-color4: #323232;
	--cnvs-color5: #A39E98;
	--cnvs-header-height: 70px;
	--cnvs-side-header-width: 200px;
	--cnvs-heading-color: var(--cnvs-themecolor);
	
	--mtm-font-display: 'Jukebox Johnny', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--mtm-font-sans: 'Matimo', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

	/* Canvas variables used throughout template */
	--cnvs-primary-font: var(--mtm-font-display);
	--cnvs-body-font: var(--mtm-font-sans);
}

#header {
  	--cnvs-primary-menu-hover-color: var(--cnvs-color2);
	--cnvs-primary-menu-font-size: 13px;
	--cnvs-primary-menu-font-weight: 700;
	--cnvs-primary-menu-ls: 1px;
}
#header {
	border: 0 !important;
}

#header .button {
	margin: 0;
	padding: 23px 30px;
}

/* Keep the image at the bottom of the left column */
.bball-img{
  max-width: 100%;
  height: auto;
  display: block;
}
.text-white-50{
	color: var(--cnvs-color5) !important;
}
.text-black-50{
	color: var(--cnvs-color4) !important;
}

a:not(.button):not(.btn):not(.menu-link):not(social-icon){
	color: #617C5D !important;
	text-decoration: none;
}

a:not(.button):not(.btn):not(.menu-link):not(social-icon):hover,
a:not(.button):not(.btn):not(.menu-link):not(social-icon):focus {
	color: #D7E472 !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.button:not(.button-white):not(.button-dark):not(.button-border):not(.button-black):not(.button-red):not(.button-teal):not(.button-yellow):not(.button-green):not(.button-brown):not(.button-aqua):not(.button-purple):not(.button-leaf):not(.button-pink):not(.button-blue):not(.button-dirtygreen):not(.button-amber):not(.button-lime):not(.bg-color2):not(.bg-color1):not(.bg-color-light) { background-color: var(--cnvs-color3) !important; }

.color-light { color: var(--cnvs-color-light) !important; }
.color2 { color: var(--cnvs-color2) !important; }
.color3 { color: var(--cnvs-color3) !important; }

.bg-color-light { background-color: var(--cnvs-color-light) !important; }
.bg-color-white { background-color: var(--cnvs-color-white) !important; }
.bg-color2 { background-color: var(--cnvs-color2) !important; }
.bg-color3 { background-color: var(--cnvs-color3) !important; }

.side-header #logo:not(.nobottomborder):after,
.side-header .primary-menu:not(.nobottomborder):after { display: none; }

blockquote { font-size: 16px; }

.before-heading::before,
.center.before-heading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 32px;
	height: 1px;
	background-color: var(--cnvs-color2);
}

.before-heading {
	position: relative;
	padding-left: 45px;
	font-size: 14px;
    line-height: 20px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-style: normal;
}

.dark .before-heading::before { background-color: var(--cnvs-color-light); }
.center.before-heading::before {
	left: auto;
	margin-left: -45px;
}

.center.before-heading::after {
	content: '';
	left: auto;
	right: auto;
	margin-left: 10px;
}

.product-title h3 {
	font-size: 16px;
	font-weight: 500;
}

.product-price ins { color: var(--cnvs-color3) !important; }

.form-control {
	--cnvs-input-btn-padding-y: 10px;
	--cnvs-form-control-radius: 0;
	--cnvs-input-btn-input-bg : transparent;
	--cnvs-input-focus-border-color: transparent;
}

.dark.sm-form-control:not(.not-dark),
.dark .sm-form-control:not(.not-dark) {
	color: #EEE;
    background-color: transparent;
    border: 0;
    border-bottom: 2px solid rgba(255,255,255, .2);
    margin-bottom: 20px;
}

.dark .sm-form-control:not(.not-dark):active,
.dark .sm-form-control:not(.not-dark):focus {
	border-bottom-color: var(--cnvs-color3) !important;
	background-color: transparent;
}

:root {
	--cnvs-slider-arrows-size: 52px;
	--cnvs-slider-arrow-color: var(--cnvs-contrast-900);
}

#slider .flex-prev,
#slider .flex-next {
	top: auto;
	bottom: -26px;
    right: 0;
    margin: 0;
    background-color: #FFF;
    border: 0;
    border-radius: 0;
}

#slider .flex-prev {
	left: auto;
	right: 53px;
}

#slider .flex-prev:hover,
#slider .flex-next:hover { background-color: var(--cnvs-color-light) !important; }

.button { font-size: 13px !important; }

/* =========================================================
   RESPONSIVE CTA BUTTON TEXT
   - Keeps Canvas button styling but increases text size responsively
   - Apply by adding class "mtm-btn" to any .button element
   ========================================================= */
a.button.mtm-btn,
.button.mtm-btn {
	font-size: clamp(16px, 1.2vw + 10px, 24px) !important;
	line-height: 1.15 !important;
}

/* If the button is not already an xlarge/large button, give it comfortable tap padding */
a.button.mtm-btn:not(.button-xlarge):not(.button-large),
.button.mtm-btn:not(.button-xlarge):not(.button-large) {
	padding: 0.85rem 1.25rem !important;
}

a.button.mtm-h-btn,
.button.mtm-h-btn {
	font-size: clamp(16px, 1.2vw + 10px, 24px) !important;
	line-height: 1.15 !important;
}

.feature-box.media-box .fbox-media { margin-bottom: 16px; }

.feature-box.media-box .fbox-media  a { font-size: 38px; }

.feature-box.media-box.color1 .fbox-media a { color: var(--cnvs-color-light); }
.feature-box.media-box.color2 .fbox-media a { color: var(--cnvs-color2); }
.feature-box.media-box.color3 .fbox-media a { color: var(--cnvs-color3); }
.feature-box.media-box.color4 .fbox-media a { color: var(--cnvs-themecolor); }



/* .twentytwenty-horizontal */
.twentytwenty-horizontal .twentytwenty-handle:before,
.twentytwenty-horizontal .twentytwenty-handle:after {
	content: " ";
	display: block;
	background: white;
	position: absolute;
	z-index: 30;
	-webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
	-moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
	box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
}

.twentytwenty-horizontal .twentytwenty-handle:before,
.twentytwenty-horizontal .twentytwenty-handle:after {
	width: 3px;
	height: 9999px;
	left: 50%;
	margin-left: -1.5px;
}

.twentytwenty-before-label,
.twentytwenty-after-label,
.twentytwenty-overlay {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}

.twentytwenty-before-label,
.twentytwenty-after-label,
.twentytwenty-overlay {
	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.twentytwenty-before-label,
.twentytwenty-after-label {
	-webkit-transition-property: opacity;
	-moz-transition-property: opacity;
	transition-property: opacity;
}

.twentytwenty-before-label:before,
.twentytwenty-after-label:before {
	color: white;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.twentytwenty-before-label:before,
.twentytwenty-after-label:before {
	position: absolute;
	background: rgba(255, 255, 255, 0.2);
	line-height: 38px;
	padding: 0 20px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

.twentytwenty-horizontal .twentytwenty-before-label:before,
.twentytwenty-horizontal .twentytwenty-after-label:before {
	top: 50%;
	margin-top: -19px;
}

.twentytwenty-left-arrow,
.twentytwenty-right-arrow {
	width: 0;
	height: 0;
	border: 6px inset transparent;
	position: absolute;
}

.twentytwenty-left-arrow,
.twentytwenty-right-arrow {
	top: 50%;
	margin-top: -6px;
}

.twentytwenty-container {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	z-index: 0;
	overflow: hidden;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
}
.twentytwenty-container img {
	max-width: 100%;
	position: absolute;
	top: 0;
	display: block;
}
.twentytwenty-container.active .twentytwenty-overlay,
.twentytwenty-container.active:hover.twentytwenty-overlay { background: rgba(0, 0, 0, 0); }

.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-after-label,
.twentytwenty-container.active:hover.twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active:hover.twentytwenty-overlay .twentytwenty-after-label { opacity: 0; }

.twentytwenty-container * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

.twentytwenty-before-label { opacity: 0; }
.twentytwenty-before-label:before { content: "Before"; }

.twentytwenty-after-label { opacity: 0; }
.twentytwenty-after-label:before { content: "After"; }

.twentytwenty-horizontal .twentytwenty-before-label:before { left: 10px; }
.twentytwenty-horizontal .twentytwenty-after-label:before { right: 10px; }

.twentytwenty-overlay {
	-webkit-transition-property: background;
	-moz-transition-property: background;
	transition-property: background;
	background: rgba(0, 0, 0, 0);
	z-index: 25;
}

.twentytwenty-overlay:hover { background: rgba(0, 0, 0, 0.5); }
.twentytwenty-overlay:hover .twentytwenty-after-label { opacity: 1; }
.twentytwenty-overlay:hover .twentytwenty-before-label { opacity: 1; }

.twentytwenty-before { z-index: 20; }
.twentytwenty-after { z-index: 10; }

.twentytwenty-handle {
	height: 38px;
	width: 38px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -22px;
	margin-top: -22px;
	border: 3px solid white;
	-webkit-border-radius: 1000px;
	-moz-border-radius: 1000px;
	border-radius: 1000px;
	background-color: #FFF;
	-webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
	-moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
	box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
	z-index: 40;
	cursor: pointer;
}

.twentytwenty-horizontal .twentytwenty-handle:before {
	bottom: 50%;
	margin-bottom: 22px;
	-webkit-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
	-moz-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
	box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
}

.twentytwenty-horizontal .twentytwenty-handle:after {
	top: 50%;
	margin-top: 22px;
	-webkit-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
	-moz-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
	box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
}

.twentytwenty-left-arrow {
	border-right: 6px solid #999;
	left: 50%;
	margin-left: -17px;
}

.twentytwenty-right-arrow {
	border-left: 6px solid #999;
	right: 50%;
	margin-right: -17px;
}
/* twentytwenty-horizontal End */


.mfp-content {
	position: absolute !important;
	left: auto;
	top: auto;
	right: 0 !important;
	bottom: 0 !important;
	width: auto !important;
}
.mfp-close { display: none !important; }

.hero-img { margin-top: 60px; }

/* CSS Over 992px Devices */
@media (min-width: 992px) {

	.hero-img {
		width: 90%;
		border-radius: 2px;
		margin-top: 100px;
	}
	.side-header #header,
	.side-header #header.dark {
		border: 0;
		box-shadow: none;
	}

	.side-header .menu-link {
		-webkit-transition: transform .3s ease;
		-o-transition: transform .3s ease;
		transition: transform .3s ease;
	}

	.side-header .primary-menu ul li a:hover {
		-webkit-transform: translateX(4px);
		-ms-transform: translateX(4px);
		-o-transform: translateX(4px);
		transform: translateX(4px);
	}

	.heading-block h2 { font-size: 46px; }
	#content p,
	.heading-block ~ p:not(.lead) {
		font-size: 17px;
		line-height: 1.6;
	}

	.section { padding: 100px 0; }

	.feature-box-wrap { margin-left: 60px; }

	.feature-box.media-box .fbox-desc h3 {
		font-size: 18px;
		font-weight: 400;
	}

	.feature-box.media-box .fbox-desc p { font-size: 15px !important; }

	.posts-md .entry-title h3 {
		font-size: 18px;
		font-weight: 300;
	}
}

/* =========================================================
   GLOBAL TYPOGRAPHY OVERRIDES (JUKEBOX JOHNNY + MATIMO)
   Spec:
   - H1: JUKEBOX JOHNNY | 73px | LH 1.2 | Tracking -15
   - H2: MATIMO BLACK (ALL CAPS) | 51px | LH 1.3 | Tracking 10
   - H4: MATIMO EXTRA BOLD (ALL CAPS) | 28px | LH 1.4 | Tracking 25
   - H6: MATIMO SEMIBOLD (ALL CAPS) | 18px | LH 1.5 | Tracking 25
   - Body: MATIMO MEDIUM | 16px | LH 1.6 | Tracking 10
   - Small/Caption: MATIMO REGULAR | 13px | LH 1.4 | Tracking 25
   ========================================================= */

/* Place your licensed webfont files here (relative to demos/mtm/mtm.css):
   demos/mtm/fonts/
	- JukeboxJohnny-Regular.woff2 (+ .woff)
	- Matimo-Regular.woff2 (+ .woff)
	- Matimo-Medium.woff2 (+ .woff)
	- Matimo-SemiBold.woff2 (+ .woff)
	- Matimo-ExtraBold.woff2 (+ .woff)
	- Matimo-Black.woff2 (+ .woff)
*/

@font-face {
	font-family: 'Jukebox Johnny';
	src: url('fonts/JukeboxJohnny-Regular.woff2') format('woff2'),
		 url('fonts/JukeboxJohnny-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Matimo';
	src: url('fonts/Matimo-Regular.woff2') format('woff2'),
		 url('fonts/Matimo-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Matimo';
	src: url('fonts/Matimo-Medium.woff2') format('woff2'),
		 url('fonts/Matimo-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Matimo';
	src: url('fonts/Matimo-SemiBold.woff2') format('woff2'),
		 url('fonts/Matimo-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Matimo';
	src: url('fonts/Matimo-ExtraBold.woff2') format('woff2'),
		 url('fonts/Matimo-ExtraBold.woff') format('woff');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Matimo';
	src: url('fonts/Matimo-Black.woff2') format('woff2'),
		 url('fonts/Matimo-Black.woff') format('woff');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* Body copy (Matimo Medium) */
html, body {
	font-family: var(--mtm-font-sans) !important;
	font-weight: 500 !important;            /* Matimo Medium */
	font-size: 16px !important;
	line-height: 1.6 !important;
	letter-spacing: 0.01em !important;      /* Tracking 10 */
	background-color: var(--cnvs-themecolor) !important;
}

/* Ensure common elements inherit */
p, li, dt, dd, blockquote, label,
input, select, textarea, .form-control, .sm-form-control {
	font-family: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

/* H1 (Jukebox Johnny) */
h1, .h1, .display-1, .heading-block h1 {
	font-family: var(--mtm-font-display) !important;
	font-weight: 400 !important;
	font-size: 73px !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em !important;    /* Tracking -15 */
	text-transform: none !important;
}

/* H2 (Matimo Black, ALL CAPS) */
h2, .h2, .display-2, .heading-block h2 {
	font-family: var(--mtm-font-sans) !important;
	font-weight: 900 !important;            /* Black */
	font-size: 46px !important;
	line-height: 1.3 !important;
	letter-spacing: 0.01em !important;      /* Tracking 10 */
	text-transform: uppercase !important;
}

/* H3 / H5 (ensure template headings use Matimo, but keep sizing/transform from existing classes) */
h3, .h3, .heading-block h3,
h5, .h5, .heading-block h5 {
	font-family: var(--mtm-font-sans) !important;
}

/* H4 (Matimo Extra Bold, ALL CAPS) */
h4, .h4, .heading-block h4 {
	font-family: var(--mtm-font-sans) !important;
	font-weight: 800 !important;            /* Extra Bold */
	font-size: 28px !important;
	line-height: 1.4 !important;
	letter-spacing: 0.025em !important;     /* Tracking 25 */
	text-transform: uppercase !important;
}

/* H6 (Matimo SemiBold, ALL CAPS) */
h6, .h6, .display-6, .heading-block h6 {
	font-family: var(--mtm-font-sans) !important;
	font-weight: 600 !important;            /* SemiBold */
	font-size: 18px !important;
	line-height: 1.5 !important;
	letter-spacing: 0.025em !important;     /* Tracking 25 */
	text-transform: uppercase !important;
}

/* Small / Caption (Matimo Regular) */
small, .small, figcaption, .form-text, .text-small, .caption {
	font-family: var(--mtm-font-sans) !important;
	font-weight: 400 !important;            /* Regular */
	font-size: 13px !important;
	line-height: 1.4 !important;
	letter-spacing: 0.025em !important;     /* Tracking 25 */
	text-transform: none !important;
}

/* =========================================================
   GLOBAL BUTTON HOVER EFFECT (FORCE #323232)
   Uses high-specificity selectors to override Canvas' default .button rules
   ========================================================= */

/* Canvas buttons (matches the template's long selector, but on hover/focus/active) */
.button:not(.button-white):not(.button-dark):not(.button-border):not(.button-black):not(.button-red):not(.button-teal):not(.button-yellow):not(.button-green):not(.button-brown):not(.button-aqua):not(.button-purple):not(.button-leaf):not(.button-pink):not(.button-blue):not(.button-dirtygreen):not(.button-amber):not(.button-lime):not(.bg-color2):not(.bg-color1):not(.bg-color-light):hover,
.button:not(.button-white):not(.button-dark):not(.button-border):not(.button-black):not(.button-red):not(.button-teal):not(.button-yellow):not(.button-green):not(.button-brown):not(.button-aqua):not(.button-purple):not(.button-leaf):not(.button-pink):not(.button-blue):not(.button-dirtygreen):not(.button-amber):not(.button-lime):not(.bg-color2):not(.bg-color1):not(.bg-color-light):focus,
.button:not(.button-white):not(.button-dark):not(.button-border):not(.button-black):not(.button-red):not(.button-teal):not(.button-yellow):not(.button-green):not(.button-brown):not(.button-aqua):not(.button-purple):not(.button-leaf):not(.button-pink):not(.button-blue):not(.button-dirtygreen):not(.button-amber):not(.button-lime):not(.bg-color2):not(.bg-color1):not(.bg-color-light):active,
.button.button-dark:hover,
.button.button-dark:focus,
.button.button-dark:active {
	background-color: #323232 !important;
	border-color: #323232 !important;
	color: #ffffff !important;
	background-image: none !important;
}

/* Bootstrap .btn and generic buttons */
.btn:hover,
.btn:focus,
.btn:active,
button:not(.cnvs-hamburger):hover,
button:not(.cnvs-hamburger):focus,
button:not(.cnvs-hamburger):active,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="button"]:active,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="submit"]:active,
a.button:hover,
a.btn:hover {
	background-color: #323232 !important;
	border-color: #323232 !important;
	color: #ffffff !important;
	background-image: none !important;
}

/* Preserve visibility for border-only variants */
.button.button-border:hover,
.button.button-border:focus,
.button.button-border:active {
	background-color: #323232 !important;
	border-color: #323232 !important;
	color: #ffffff !important;
}
/* =========================================================
   TEMPLATE UTILITY TYPOGRAPHY PATCH
   Ensures helper classes (e.g. .font-secondary, .before-heading) use Matimo
   ========================================================= */
/* Some template utilities override typography—force them back to Matimo */
.font-secondary,
.before-heading {
	font-family: var(--mtm-font-sans) !important;
}

/* Color utility classes should not affect typography */
.text-white-50,
.text-black-50 {
	font-family: inherit !important;
}
/* =========================================================
   SAFARI VIDEO BORDER / OUTLINE FIX
   Safari can render a faint 1px light edge around <video> when scaled/composited.
   This forces a true edge-to-edge render with no borders/outlines and hides any seams.
   ========================================================= */
.video-wrap,
.video-wrap video,
#slide-video {
	border: 0 !important;
	outline: none !important;
}

#slide-video:focus { outline: none !important; }

/* Prevent any container seam from showing through */
.video-wrap {
	overflow: hidden !important;
	background-color: #000 !important;
}
				
				@media (max-width: 1084.98px) {
					  #logo img.logo-default,
					  #logo img.logo-dark {
					    max-width: 150px !important;
					    width: 100% !important;
					    height: auto !important;
					  }
					}