/*
Theme Name: Nifty 2026
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: #db002a;
	--color-2: #750016;
	--color-3: #DADADA;
	--gradient-start: #1C0202;
	--gradient-end: #4C0506;
	--light: rgba(30, 30, 30, .3);

	/*font sizes*/
	--fsize-xl: clamp(34px, 4.7vw, 90px);
    --fsize-lg:  clamp(40px, 5vw, 90px);
	--fsize-lg-sm:  clamp(22px, 1.9vw, 32px);
	--fsize-md: clamp(27px, 2.7vw, 52px);
	--fsize-sm-md: clamp(23px, 1.6vw, 30px);
	--fsize-sm: clamp(18px, 1.4vw, 26px);
	--fsize-xsm: clamp(18px, 1.28vw, 24px);
	--fsize-default: clamp(15px, 1.05vw, 18px); /*ADA requires at least 16px*/

	/*font families*/
	--heading-font: 'Montserrat Variable', sans-serif;
	--text-font: 'Montserrat Variable', sans-serif;
}

/*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;}
*{box-sizing: border-box; -webkit-appearance: none;font-family:inherit; max-width: 100%;}
/* lazy loading flow fixes */
img{object-fit:contain;min-width:1px;height:auto;}
a{color: var(--color-1);text-decoration:none;transition: ease all .25s;}
a:hover{color: var(--color-2);}
nav a:hover {color: var(--color-2)}
nav a {padding: .25em 0px;color: white;font-family: var(--text-font);font-size: clamp(17px, 1.05vw, 19px); text-transform: inherit;}
article a {text-decoration: underline;text-decoration-thickness: 2px;display: inline-flex;}
article {overflow: hidden;}
code, pre, kbd, samp {font-family: monospace;}

/*Font Defaults*/
h1, h2, h3, h4, h5, h6{font-family: var(--heading-font);margin-bottom:0.5em; color: var(--color-1);font-weight: 500;letter-spacing: -.2vw;}
body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.4em; color: black; font-weight: 500;}
ul li::marker {font-size: 1.1em;}
p {margin-block-start: 0;margin-block-end: 1.2em;}
h1{font-size:var(--fsize-xl);line-height: 1em;}
h2{font-size:var(--fsize-lg);line-height: 1;margin-bottom:0px;margin-top:0;font-weight:700; margin-bottom: 50px;letter-spacing: -.1vw; color:black;}
h3{font-size:var(--fsize-md);letter-spacing: -.1vw;}
h4{font-size:var(--fsize-sm);}
p.has-large-font-size{color: var(--color-2);font-size: var(--fsize-sm); font-weight: 500;text-align: left;line-height: 1.2;letter-spacing: -0.05vw;}
p.has-extra-small-font-size {font-size: 0.9em; margin-bottom: 5px; position: relative;font-weight: 600;display:flex; align-items:center;gap:5px;text-transform:lowercase;}
p.has-extra-small-font-size:before {
    content: '';
    display: block;
    height: 1.5cqh;
    width: 1.5cqh;
    background: var(--color-2);
    margin-bottom: 0px;
    border-radius: 50%;
top: 5%; position:relative;margin-left:.2vw;}

h2 .nifty-span{color: var(--color-2);}

/* buttons  */
.wp-block-button{position: relative;overflow: hidden;display: flex;border-radius: 8px;border: solid white 1px; }
.wp-block-button .wp-element-button,
.wp-block-button button,
.wp-block-button a { text-decoration: none; text-transform: uppercase; color: white; padding: 18px 35px; font-weight: 600; text-align:center;justify-content:center;font-size: 0.85em;}
.wp-block-button::after { content: ''; position: absolute; width: calc(200% + 2px); height: 100%; top: 0; left: calc(-2px - 100%); background-size: 50% 100%, 50% 100%; background-position: left, right; z-index: -1; transition: ease .6s; background: linear-gradient(88deg, var(--color-2) 50%, var(--color-1) 120%);}
.wp-block-button:hover::after{ left: 0;filter: brightness(.4);}
.wp-block-button.is-style-outline:after { background: black; opacity: .4;}
.wp-block-button.is-style-outline { border-color: var(--color-1); }
.wp-block-button.is-style-outline a { color: var(--color-1); }
.wp-block-button.is-style-outline:hover:after { opacity: .8;}


/* hr Line */
.hr-line { display: flex; align-items: center; justify-content: center; gap: 0px; margin:0; }
.hr-line .left, .hr-line .right { flex: 1; height: 2px; background: #ffffff; background: linear-gradient(225deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); }
.hr-line .right { background: linear-gradient(225deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%); }
.hr-line .text {
    flex: none;
    display: flex;
    width: max-content;
    color: white;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.8vw;
    font-size: var(--fsize-md);
	padding-left: 1cqw;
}

/*Layout*/
.section-padding{padding: clamp(65px, 6%, 100px) 0;position:relative;overflow:hidden;}
.content-width{width: 1800px; max-width: 90%; padding: 0; margin: 0 auto;position:relative; z-index:2;}
.wp-block-list {
	margin-top: 0;
    padding-left: 0;
}
.wp-block-list li {
    position: relative;
    padding-left: 0;
    list-style: none;
    margin-bottom: 18px;
	
}
.wp-block-list li::before {
    content: "•";
    position: absolute;
    left: -13px;
    top: 0.05em;
    font-size: 1.1em;
    line-height: 1;
}
.flex{display: flex; flex-wrap: wrap;}
.masthead.fixed { background: transparent; transition: background 0.3s ease; }

.masthead nav .sub-menu a { color: black; }
.masthead.active nav .sub-menu a { color: black; }
.masthead nav .sub-menu a:hover { color: var(--color-2); }
.wp-block-column{flex: 1;}

.header-content .header-call-box{display: flex;gap: 15px;}
.header-content .phone-number { display: flex; align-items: center; color:var(--color-1); gap: 25px; font-size: 1em;font-weight: 500;text-transform: uppercase;}
.header-call-box .phone-number a { color: var(--color-1); }
.header-content .phone-number svg {     max-height: 20px; width: auto; fill:var(--color-2); margin: 0 5px 0 10px; }
.header-call-box .phone-number .number {display: flex;align-items: center;justify-content: center;font-size: 1.4em; font-weight: 700;}
.wp-block-columns{display: flex;}

figure.wp-block-image { display: flex; }
figure.wp-block-image img{width: 100%; }


/* ADA header */
.masthead{background: var(--accent-bg); padding: 15px 0px;}
.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;}
.masthead .logo-container svg .top-text{fill: var(--color-1);}
.logo-container svg { width: clamp(200px, 22vw, 330px); height: auto; position: relative; fill:white; transition: max-width 0.2s ease; }
.mobile-nav-input{display: none;}
#menu-main{padding: 0; font-weight:500;}
#menu-main .current-menu-item > a{opacity: 1;}
.menus{ justify-content: flex-end;padding: .5em;}
#menu-main > li .sub-menu a{padding:.15em .5em .15em 0;display:block;}

@media (min-width: 1001px){
		nav a{font-size: clamp(12px, .9vw, 16px);}
	/* 	"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(--gradient-start); transition: ease .5s; z-index: -1;}
		.masthead.fixed.active:before{height:100%;}
		body.admin-bar .masthead {top: 32px;}
		.mobile-nav{display: none;}
		#menu-main{display: flex; margin: 0; justify-content: flex-end;gap:1.9em;white-space: nowrap;font-size: clamp(17px, 1.3vw, 21px);}
		#menu-main > li{position: relative; margin-bottom: 0!important;}
		#menu-main > li > a{opacity: 1; font-weight: 500;text-transform: uppercase;}
		#menu-main > li > a:hover{opacity: 1;color: white;}
		#menu-main > li > .sub-menu {font-size: .8em;}
		.sub-menu{position: absolute; top: 100%; left: 0; backdrop-filter: blur(5px); height: 0; overflow: hidden; z-index: 1000; box-shadow: 0 2px 7px rgba(0,0,0,.4);background: white;}
		.sub-menu .sub-menu{left: 99%; top: 0;}
		#menu-main > li:hover > .sub-menu, .masthead #menu-main > li > a:focus + .sub-menu, .masthead #menu-main > li:focus-within > .sub-menu{height: auto; padding: 15px 0 15px 15px; width: 225px; min-width:max-content; overflow: initial;border: 1px solid white;}
		.sub-menu > li{position: relative; padding-right: 15px;}
		.sub-menu > li:hover > .sub-menu, .sub-menu > li > a:focus + .sub-menu, .sub-menu > li:focus-within > .sub-menu{padding: 15px; width: 225px; height: initial; min-width: max-content; border: 1px solid white;top:-16px;}
		.logo-container { flex: 1; }
		.header-content { display: flex; flex: 1; flex-direction: column; align-items: end; gap: 9px; }
		.menus {font-size: clamp(16px, 1.1vw, 20px); flex-direction: column; align-items: end; padding: 0 .5em;padding-top: 0px;gap: 15px; padding-right: 0;}
		.inner-masthead{gap: 35px;align-items: start;flex-wrap: nowrap;}
		ul#menu-main span.menu-arrow{
			width: 12px;height: 12px;display: inline-flex;
			background-image: url("data:image/svg+xml,%3Csvg version='1.2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 8' width='13' height='8'%3E%3Cstyle%3E .menu-arrow %7B fill: %23ffffff %7D %3C/style%3E%3Cpath fill-rule='evenodd' class='menu-arrow' d='m5.66 7.07l-5.66-5.66 1.41-1.41 4.95 4.95 4.95-4.95 1.42 1.41-5.66 5.66q-0.29 0.29-0.71 0.29-0.41 0-0.7-0.29z'/%3E%3C/svg%3E");
			background-repeat: no-repeat;
			background-position: center right;
			background-size: contain;
		}
}

@media (min-width: 1001px) and (max-width: 1200px){
	#menu-main {gap: 1em;}
	nav a {font-size: clamp(.9em, 1.05vw, 19px);}
}

@media(max-width: 1000px){
	:root{
		--fsize-default: clamp(16px, 1.05vw, 18px);
	}
	h2{margin-bottom:30px;}
	h2 br{display:none;}
	.header-content .phone-number{flex-direction: column; gap: 3px; align-items: end;justify-content: center; font-size: 1em;}
	.inner-masthead{flex-direction: column-reverse;align-items: start;}
	#menu-main > li .sub-menu a,
	nav a{display: block;color: black; padding: .35em 0;}
	.logo-container{width: 65%;}
	.section-padding{padding: 65px 0;}
	.masthead{position: absolute; width: 100%; background: transparent;padding-bottom:5px;z-index:9;padding-top: 70px;}
    .masthead .header-content { display: flex; align-items: center; width: 100%; justify-content: space-between;padding-bottom:0px;flex-wrap:wrap;position: absolute;}
	.menus{width: 100%;padding: 0;}
	.mobile-nav { font-size: 55px; transform: scaleX(1.7); outline-color: var(--color-1); display: flex; position: absolute; top: -40px; right: 2px;color: white; }
	.main-nav{position: absolute; top: 10px; width: 100%; left: 0; background: white; box-shadow: 0 5px 10px rgba(0,0,0,.3); padding: 0 25px; height: 0; overflow: hidden; transition: padding .25s; z-index:1000;}
	#mobile-nav-input:checked + * + .main-nav{height: auto; padding: 10px 25px; }
	#menu-main .sub-menu{display: none;}
	#menu-main li a{outline-color: var(--color-1);}
	#menu-main .sub-menu{display: none; transition:ease.3s; padding:0;}
	#menu-main .sub-menu.active{display: block; padding:0 0 0 15px;}
	#menu-main .sub-menu.active li{padding:1px 0;}
	.menu-item-has-children{position:relative;}
	.menu-arrow{content: ''; position: absolute; width: 14px; height: 14px; border-bottom: 3px solid var(--color-1); border-right: 3px solid var(--color-1); transform: rotate(45deg); top: 4px; right:5%;transition:ease .3s;}
	.menu-arrow:before {content: '';display: block;width: 40px;height: 40px;top: 50%;position: absolute;transform: translate(-45%, -45%);left: 50%;}
	.masthead .sub-menu.active + .menu-arrow{transform: rotate(225deg);top: 10px;}
	figure img{height:auto;}
	.sm-block-right::before{height: 100px; width: 120px;}
	.wp-block-columns{flex-direction: column;gap: 15px;}
	.header-call-box .phone-number a{font-size: 1.2em;letter-spacing: .2vw;}
	
	.header-content .header-call-box{align-items: start;position: absolute;top: -107px; right: 0;width: 100%;justify-content: end;}
	.logo-container svg{fill:white;max-width: 270px; padding-bottom: 0px;width: 100%;}
	#menu-main .current-menu-item > a{color: var(--color-2);}
	p.has-large-font-size{font-size: 18px;}
	p.has-extra-small-font-size{gap:0;margin-bottom:1em;position:relative; left: -.8vw;}
	p.has-extra-small-font-size:before {display: inline-block; height: 12px; width: 12px; background: var(--color-2); border-radius: 50%; position: relative; left: 5px; top: 1px; margin-right: 12px;margin-bottom: 0; margin-left:-2px;}
}

@media screen and (max-width: 600px) {
	.header-content .header-call-box{justify-content: center;}
	.header-content .phone-number{align-items: center;}
}


/* 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;}
.are-vertically-aligned-bottom { align-items: end; }
 .wp-block-columns{gap: 8%;}
/* 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;}