/*
Theme Name: Nifty 2025
Template: twentytwentyone
Author: Nifty Development
Author URI: https://niftymarketing.com/
Description: A lightweight theme for use of our clients.
Version: 2.5.1
*/

/*Theme Variables*/
:root{
	/*site colors*/
	--color-1: #fff;
	--color-2: #0d0d11;
	--color-3: #d90b2b;
	--gray-btn: #353535;
	--footer-bg: #1d1c20;
	--footer-text-color: #a1a1a1;
	--link-active: #ff4060;
	--text-color: #E2E8ED;
	--light-gray: #2F2E31;
	--link-hover: #b8b8b8;
	--sub-menu-bg: #201F1F;
	--main-bg: #0d0d11;
	--heading-color: #fefff9;
	--video-description: #e1e8ed;
	--breadcrumbs: #7a7a7a;


	/*font sizes*/
	--fsize-xl: clamp(50px, 4.9vw, 75px);
    --fsize-lg: clamp(32px, 2.7vw, 50px);
	--fsize-md: clamp(28px, 2.2vw, 40px);
	--fsize-sm: clamp(20px, 1.6vw, 30px);
	--fsize-default: clamp(16px, 1vw, 18px); /*ADA requires at least 16px*/

	/*font families*/
	--heading-font: "Jost", sans-serif;
	--text-font: "Mulish", sans-serif;

	--side-panel-width: 500px;

	
}

/*Default Overall Styles*/
html, body{scroll-behavior: smooth; font-size: var(--fsize-default); font-variant-ligatures: none; overflow-anchor: none;}
body{margin:0; -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;font-family: var(--text-font);line-height: 1.5em;  overflow-x: hidden; overflow-wrap: break-word; background-color: var(--main-bg); color: var(--text-color);}
body ::selection {background-color: var(--link-active);color: var(--color-1);}
*{box-sizing: border-box; -webkit-appearance: none;font-family:inherit; max-width: 100%;}
/* lazy loading flow fixes */
img{object-fit:contain;min-width:1px;}
a{color: var(--color-1);text-decoration:none;transition: ease all .25s;}
nav a:hover {color: var(--link-hover)}
nav a {display: inline-block; padding: 10px 25px; font-family: var(--heading-font);}
article a {text-decoration: underline;text-underline-position: under;text-decoration-thickness: 2px;}
code, pre, kbd, samp {font-family: monospace;}

/*Font Defaults*/
h1, h2, h3, h4, h5, h6{font-family: var(--heading-font); line-height: 1.5;margin-bottom:0.5em; font-weight: 700; color: var(--color-1);}
body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.65; color: var(--text-color);}
h1{font-size:var(--fsize-xl);}
h2{font-size:var(--fsize-lg);}
h3{font-size:var(--fsize-md);}
h4{font-size:var(--fsize-sm);}
h5 {font-size: 20px;}


/*Layout*/
.section-padding{padding: 5% 0;}
.content-width{width: 1800px; max-width: 90%; margin: 0 auto;}
.flex{display: flex; flex-wrap: wrap;}
.slider-wrapper{max-width:2500px; margin:0 auto; overflow:hidden;}
.is-layout-grid {display: grid;}

/* ADA header */
.masthead{color: white;}
.masthead ul{list-style: none;}
.skip-bar{position: absolute; display: block; width: 100%; text-align: center; height: 0; overflow: hidden; background:white; color:black; font-weight:600; top: 0; left: 0; z-index: 10;}
.skip-bar:focus{height: auto; padding: 20px;}
.inner-masthead{justify-content: space-between; align-items: center; padding-block: 20px;}


.site-main {overflow: hidden;}
.wp-block-button {display: flex;}
.wp-element-button {cursor: pointer; padding: 12px 24px; text-transform: uppercase; font-family: var(--heading-font); text-decoration: none; color: white; background-color: var(--gray-btn); font-size: 17px; font-weight: 700; letter-spacing: 2px; transition: all 0.2s ease-in-out;}
.wp-element-button:hover {background-color: black;}
.wp-block-button.red-btn .wp-element-button {background-color: var(--color-3);}
.wp-block-button.red-btn .wp-element-button:hover {filter: brightness(.9) contrast(1.2);}

.header-content {display: flex;  flex-wrap: wrap-reverse; justify-content: flex-end; width: calc(100% - 188px);}
.mobile-nav-input{display: none;}
.main-menu{padding: 0; font-weight:700; text-transform: uppercase;}
.masthead ul .current-menu-item > a:first-child, .masthead ul .current-menu-ancestor > a:first-child{color:var(--color-3)}
.menus{ justify-content: flex-end;padding: .5em}
.header-call-box{display:flex; align-items:center; justify-content:flex-end; gap:15px;}
.header-phone-number {background-color: var(--color-3); padding: 12px 24px; border-radius: 3px; font-family: var(--heading-font);font-weight: 700;}
.header-phone-number:hover {filter: brightness(.9) contrast(1.2);}
.main-menu > li .sub-menu a{padding: 15px; display: inline-block;}
.menu-arrow{content: ''; cursor: pointer; position: absolute; width: 8px; height: 8px; border-bottom: 2px solid var(--color-1); border-right: 2px solid var(--color-1); transform: rotate(45deg); top: 18px; right:0;transition:ease .3s;}

.main-menu > li .sub-menu .menu-arrow {right: 15px;}

@media (min-width: 1001px){
	/* 	"FIXED" IS AN ANIMATEABLE CLASS FOR SMOOTH ANIMATION ON MASTHEAD */
		.masthead.fixed{position: fixed; left: 0; width: 100%; z-index: 1000; top: 0;}
		.masthead.fixed:before{content: ''; position: absolute; top: 0%; left: 0%; width: 100%; height: 0; background: var(--footer-bg); transition: ease .5s; z-index: -1;border:1px solid black; box-shadow:0 0 11px rgba(0,0,0,.5);}
		.masthead.fixed.active:before{height:100%;}

		body.admin-bar .masthead {top: 32px;}
		.mobile-nav{display: none;}

		.main-menu{display: flex; margin: 0; flex-wrap: wrap; justify-content: flex-end;gap:1em;}
		.main-menu  li{position: relative; margin-bottom: 0!important; display: flex; align-items: center;}
		.sub-menu{position: absolute; top: 100%; left: -50%; background: var(--sub-menu-bg); height: 0;overflow: hidden; z-index: 1000; box-shadow: 0px 10px 20px rgba(41, 51, 61, 0.1); padding-left: 0; border-radius: 0px 0px 2px 2px;}
		.sub-menu .sub-menu{left: 100%; top: 0; }
		.main-menu li:hover > .sub-menu, .masthead .main-menu li > a:focus + .sub-menu, .masthead .main-menu li:focus-within > .sub-menu{height: auto;  min-width: 300px; overflow: initial;}
		.sub-menu > li{position: relative; width: 100%;}
		.sub-menu > li:hover {background-color: var(--color-3);}
		.sub-menu > li:hover a, .masthead ul .sub-menu > .current-menu-ancestor:hover > a, .masthead ul .sub-menu > .current-menu-item:hover > a{color: white;}
		.sub-menu > li:hover > .sub-menu, .sub-menu > li > a:focus + .sub-menu, .sub-menu > li:focus-within > .sub-menu{width: initial; height: initial; min-width: 300px;}

		.main-menu > li:nth-last-child(-n + 3) .sub-menu{left:unset; right:0;}
		.masthead li.menu-item-has-children:hover > .menu-arrow{transform: rotate(225deg);}

		.mobile-menu {display: none;}

}
@media (max-width: 1200px) {
	nav a {padding: .25em 10px; }
	.menu-arrow {right: -5px; top: 10px;}
	.header-phone-number {padding-inline: 15px;}
}
@media(max-width: 1000px){
	:root{
		--side-panel-width: 65vw;
	}
	body, p, ul, ol, li {line-height: 1.1;}

	.header-call-box {display: none;}
	.content-width{ max-width: 100%; padding-inline: 15px;}
	.masthead{position: absolute; z-index: 5;}
	.masthead .header-content {display: flex;flex-direction: column;align-items: end;}
	.mobile-nav{font-size: 18px; transform: scaleX(1.75); color: var(--color-1); cursor: pointer;}
	.mobile-nav:hover {color: var(--color-3);}
	.menus {padding-right: 20px;}
	.mobile-nav__box{position: fixed; top: 0; width: var(--side-panel-width); right: 0; background: rgba(18, 21, 25, 0.98); box-shadow: 0 0px 70px rgba(0,0,0,.35); padding: 35px; height: 100vh;overflow: scroll; transform: translateX( 100%); transition: all .4s ease-in-out; z-index:10;}
	.mobile-menu.open .mobile-nav__box {transform: translateX(0); }
	.mobile-menu .mobile-nav__box .mobile-nav__box-top { display: flex; justify-content: flex-end; padding-bottom: 35px;}
	.mobile-menu .mobile-nav__box .mobile-nav__box-top .close-menu {padding: 10px; margin: 0; line-height: 1%;}
	.mobile-menu .mobile-nav__box .mobile-nav__box-top .close-menu svg{fill: var(--text-color); transform: rotate(0); cursor: pointer; transition: transform 0.15s ease-out, fill 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);}
	.mobile-menu .mobile-nav__box .mobile-nav__box-top .close-menu svg:hover {transform: rotate(90deg);}
	/* #mobile-nav-input:checked + * + .main-nav{transform: translateX(0); } */
	.main-menu .sub-menu{display: none;}
	.main-menu li a{text-transform: capitalize; font-family: var(--text-font); font-size: 20px; padding: 5px 0;}
	.main-menu li:hover > a, .main-menu li.menu-item-has-children:has(.sub-menu.active) > a {color: var(--color-3);}
	.main-menu .sub-menu{display: none; transition:ease.3s; padding:0;}
	.main-menu .sub-menu.active{display: block; padding: 0 0 0 30px;}
	.main-menu .sub-menu.active li{padding:5px 0;}
	.menu-item-has-children{position:relative;}
	.menu-arrow{ top: 10px; right:5%; width: 10px; height: 10px;}
	.masthead .sub-menu.active + .menu-arrow{transform: rotate(225deg);}
	.main-menu li.menu-item-has-children:hover > .menu-arrow, .main-menu li.menu-item-has-children:has(.sub-menu.active) > .menu-arrow {border-color: var(--color-3);}
	.main-menu > li .sub-menu a {padding: 5px 0; position: relative;}
	.main-menu .sub-menu li > a::before {position: absolute;content: "";top: calc(50% - 2px);inset-inline-start: -30px; width: 3px; height: 3px;opacity: .3;border-radius: 5px;background: currentColor; transition: all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955);}
	.main-menu .sub-menu li:hover > a::before, .main-menu .sub-menu li:has(.sub-menu.active)> a::before  {opacity: 1; width: 15px;}
	figure img{height:auto;}

	.desktop-menu {display: none;}
}

@media (max-width: 750px) {
	:root{
		--side-panel-width: 90vw;
	}
	
}
/* Forms */
textarea {width:100%;height:150px;}
input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], select, textarea {margin:0; padding:1em;width:100%;border:1px solid;}
input[type=submit], button {border:none;background:var(--color-1);padding:.5em 1em;cursor:pointer;font-size:inherit;}
.gfield_label {margin-top:1em;margin-bottom: .25em;font-weight: 600;display: flex;gap:0.25em;}
.gfield_required {font-size: .85em;color: #c02b0a;display: inline-block;text-transform: uppercase;font-weight: 400;}
.gfield_label_before_complex {display:none}
fieldset {border: none; margin: 0; padding: 0;}
.gchoice {display: flex;gap: 1em;align-items: center;margin:1em 0;cursor:pointer;width:fit-content;}
.gchoice input[type=checkbox] {appearance: none;color: var(--color-1);width: 1.5em;
height: 1.5em;border: 2px solid;border-radius: 3px;display: flex;align-items: center;justify-content: center;transition: ease all .25s;cursor:inherit;}
.gchoice input[type=checkbox]::before {content: url("data:image/svg+xml,%3Csvg fill='%23FFF' xmlns='http://www.w3.org/2000/svg' viewBox='25 25 50 50'%3E%3Cpath d='m64 985.393-3.531 3.532-16.719 16.718-4.469-3.937-3.75-3.281-6.593 7.53 3.78 3.282 8 7 3.5 3.094 3.313-3.313 20-20 3.531-3.53L64 985.392z' overflow='visible' transform='translate(0 -952.362)'/%3E%3C/svg%3E");width: 100%;height: 100%;opacity: 0;transition: ease opacity .25s;}
.gchoice input[type=checkbox]:checked {background: var(--color-1);}
.gchoice input[type=checkbox]:checked::before {opacity: 1;}
label {user-select: none;cursor:inherit;}

/* Built In WP Classes */
figure {display:inline-block;margin:0;}
.aligncenter {display:block;margin: 0 auto; width:fit-content;}
.has-text-align-center {text-align:center;}
.has-text-align-right {text-align: right;}
.is-layout-flex{display:flex;}
.is-content-justification-center{justify-content:center;}
.is-content-justification-left{justify-content:flex-start;}
.is-content-justification-right{justify-content:flex-end;}
.are-vertically-aligned-center{align-items:center;}
/* DEFAULT CLASSES FOR ANIMATIONS */
.transition{transition:ease 1s;}
.fade-left{opacity:0; transform:translate(-100%, 0);}
.fade-right{opacity:0; transform:translate(100%, 0);}
.fade-up{opacity:0; transform:translate(0, 100%);}
.fade-down{opacity:0; transform:translate(0, -100%);}
.ghost-in{opacity:0;}
.transition.active{opacity:1; transform:none;transition:ease 1s;}