/*
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*/
/* 	DARK RED */
	--color-1: #8d0505;
/* 	RED */
	--color-2: #a30404;
	--color-3: #ffffff;
	
/* 	GRAY */
--color-4: #dddddd;
	
	/*font sizes*/
	--fsize-xl: clamp(40px, 4vw, 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: "Montserrat Variable", sans-serif;
	--text-font: "Montserrat Variable", sans-serif;
	--accent-font: "Oswald Variable", sans-serif;
}

/*Default Overall Styles*/
html, body{scroll-behavior: smooth; font-size: var(--fsize-default); font-variant-ligatures: none; overflow-anchor: none; background:black;}
body{margin:0; -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;font-family: var(--text-font);line-height: 1.5em; color:white;}
*{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(--color-3)}
nav a {padding: .25em .5em;}
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.25em;margin-bottom:0.5em; color:white;}
body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.5em; font-weight:500; color:var(--color-4);}
h1{font-size:var(--fsize-xl);}
h2{font-size:var(--fsize-lg);}
h3{font-size:var(--fsize-md);}
h4{font-size:var(--fsize-sm);}


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

/* ADA header */
.masthead{background: var(--accent-bg); padding: 15px 25px;}
.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;}
.logo-container{width: 25%; padding-bottom:.5em;}

.mobile-nav-input{display: none;}
#menu-main{padding: 0; font-weight:800; text-transform: uppercase;}
.masthead ul li a{color:white; font-weight:500;}
.masthead ul .current-menu-item > a:first-child, .masthead ul .current-menu-ancestor > a:first-child{color:white;}
.menus{ justify-content: flex-end;padding: .5em 0}
.header-call-box{display:flex; align-items:flex-end; justify-content:flex-end; gap:15px;}
.header-phone-number{font-size: clamp(28px, 3vw, 55px); line-height: 1; font-weight: 600;}
.header-phone-number svg{width:25px; height:25px;}
#menu-main > li .sub-menu a{padding:.25em .5em .25em 0;}

.stacked-header-text{color:var(--color-1); text-align:center;margin:0; font-size: clamp(13px, 0.8vw, 20px); font-weight: 600; letter-spacing:1px;}
.stacked-header-text span{display:block; font-size:clamp(30px, 2.1vw, 36px); font-weight: 600; letter-spacing:0px;}

.huge-highlight-text{width: 100%; font-family: var(--accent-font); display: block; font-size:clamp(40px, 8.8vw, 178px); line-height: 1; background:-webkit-linear-gradient(0deg, rgba(96, 96, 96, 0.6) 0%, #606060 10%, #606060 80%, rgba(96, 96, 96, 0.6)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-weight: 800; text-shadow: none; filter: drop-shadow(0px 6px 9px black); letter-spacing: 0; position:relative; margin:0;}
.huge-highlight-text.has-large-font-size{font-size:clamp(39px, 11.7vw, 230px); }
.huge-highlight-text.has-extra-large-font-size{font-size:clamp(39px, 18.8vw, 380px); }
.huge-highlight-text.has-huge-font-size{font-size:clamp(40px, 21.3vw, 430px); }
.huge-highlight-text::before{content:''; position:absolute; width:100%; height:100%; background:linear-gradient(rgba(0,0,0,0.7) 0% , transparent 40%, transparent 60%, rgba(0,0,0,.9) 95%); left:0;}

.sml-logo-text{display:flex; position:relative; color:var(--color-1); align-items:center;}
.sml-logo-text.centered{width:fit-content;margin:0 auto;}
.sml-logo-text figure img{max-height:35px; width:auto;}
.sml-logo-text p{font-weight:600; text-transform:uppercase; margin:0 0 0 10px; position:relative; letter-spacing:5px; color:var(--color-1);}

.document-link{list-style:none;}
.document-link li{position:relative; padding:7px 0; font-weight:700;}
.document-link li::before{content:''; position:absolute; background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="%238d0505" d="M6 3v26h20V9.594l-.28-.313l-6-6l-.314-.28H6zm2 2h10v6h6v16H8zm12 1.438L22.563 9H20zM11 13v2h10v-2zm0 4v2h10v-2zm0 4v2h10v-2z"/></svg>'); top:5px; left:-35px; width:25px; height:30px; background-repeat:no-repeat; background-size:cover;}


.wp-block-button{display: flex; position:relative; align-items: center; padding: 5px; background: transparent; overflow:hidden; width: fit-content; min-width: fit-content; max-width: 90%; }


.wp-block-button .wp-block-button__link{padding: 15px; position:relative; border:1px solid rgba(255,255,255,.5); font-weight: 600; width: 100%; display: flex; justify-content: center; text-align: center; color:white; text-decoration:none; transition:ease 1s;}

.wp-block-button::before{content:''; position:absolute; width:calc(200% + 3px); height:100%; top:0; left:calc(-2px - 100%); background:linear-gradient(90deg, white 50%, var(--color-2) 50%);z-index:0; transition:ease 1s;}
.wp-block-button:hover::before{left:0;}
.wp-block-button:hover .wp-block-button__link{color:black; border:1px solid rgba(0,0,0,.5);}


.wp-block-button.is-style-outline .wp-block-button__link{background:none !important; color:black; border:1px solid rgba(0,0,0,1);}

.wp-block-button.is-style-outline::before{left:unset; right:calc(-2px - 100%);}
.wp-block-button.is-style-outline:hover::before{right:0;}
.wp-block-button.is-style-outline:hover .wp-block-button__link{color:white !important; border:1px solid rgba(255,255,255,.5);}

.wp-block-navigation .wp-block-navigation__responsive-container-close,
.wp-block-navigation .wp-block-navigation__responsive-container-open{display:none;}

@media (min-width: 1001px){
	figure.alignleft{float:left; margin-right:10px; }
	figure.alignright{float:right; margin-left:10px;}
	
		.sub-menu .menu-arrow{content: ''; position: absolute; width: 10px; height: 10px; border-bottom: 2px solid var(--color-1); border-right: 2px solid var(--color-1); transform: rotate(45deg); top: 10px; right:5%;transition:ease .3s;}
	.sub-menu .menu-item-has-children:hover .menu-arrow{transform: rotate(-46deg);}
	.masthead .sub-menu:hover + .menu-arrow{transform: rotate(-46deg);}
/* 	.masthead .sub-menu.active + .menu-arrow{transform: rotate(225deg);} */
	
	
	.inner-masthead{width:1800px; max-width:90%; margin:0 auto; align-items:flex-end;}
	.inner-masthead .logo-container svg{height:auto;}
	.huge-highlight-text{letter-spacing:-8px;}
	.huge-highlight-text.has-huge-font-size{letter-spacing:-19px;}
	.sub-menu::-webkit-scrollbar {
  width: 5px;
}

/* Track */
.sub-menu::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey; 
  border-radius: 10px;
}
 
/* Handle */
.sub-menu::-webkit-scrollbar-thumb {
  background: var(--color-2); 
  border-radius: 10px;
}

/* Handle on hover */
.sub-menu::-webkit-scrollbar-thumb:hover {
  background: #b30000; 
}
	
	.sub-menu{max-height:500px; overflow:auto;}
	
	.wp-block-button{min-width:355px;}
	/* 	"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:black; 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; flex-wrap: wrap; justify-content: flex-end;gap:clamp(1px, 0.1vw, 5px);}
		#menu-main > li{position: relative; margin-bottom: 0!important;}
		.sub-menu{position: absolute; top: 100%; left: 0; background: var(--transluscent); backdrop-filter: blur(5px); height: 0; overflow: auto; z-index: 1000; box-shadow: 0 2px 7px rgba(0,0,0,.4);}
		.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; min-width: 250px; overflow: initial;border: 1px solid white; background:black; }
		.sub-menu > li{position: relative; padding:5px 15px 2px 5px;}
		.sub-menu > li:hover > .sub-menu, .sub-menu > li > a:focus + .sub-menu, .sub-menu > li:focus-within > .sub-menu{padding: 15px; width: initial; height: initial; min-width: 250px; border: 1px solid white; background:black; }
		#menu-main > li:nth-last-child(-n + 3) .sub-menu{left:unset; right:0;}
	
}

@media(max-width:1400px){
	#menu-main{gap:0;}
/* 	.logo-container{width:25%;} */
	.header-content{width:75%;}
	.masthead ul li a{font-size:1.1vw;}
/* 	.inner-masthead{align-items:center;} */
	
}

@media(max-width: 1000px){
	.masthead.active .inner-masthead{position:fixed; top:0; z-index:1001; background:black; padding:10px; left:0;}
	.logo-container{transition:ease .5s;}
	.masthead.active .logo-container{max-width:85%; padding-bottom:0;}
	.wp-block-button .wp-block-button__link{padding:15px 5px;}
	.huge-highlight-text{letter-spacing:-2px;}
	.masthead ul li a{font-size:16px;}
	.logo-container{width:50%;}
	.inner-masthead{justify-content:center;}
	.stacked-header-text{width:0; height:0; overflow:hidden; position:absolute;}
	.masthead{position: relative;}
	.masthead .header-content {display: flex; width:100%; justify-content:center; gap:10px;}
	.menus{width: 70px;}
	.mobile-nav{font-size:45px; transform: scaleX(1.75); outline-color: var(--color-1);}
	.main-nav{position: absolute; top: 100%; width: 100%; left: 0; background: black; 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 15px 5px;}
	#menu-main .sub-menu.active li{padding:2px 0;}
	.menu-item-has-children{position:relative;}
	.menu-arrow{content: ''; position: absolute; width: 10px; height: 10px; border-bottom: 2px solid var(--color-1); border-right: 2px solid var(--color-1); transform: rotate(45deg); top: 2px; right:5%;transition:ease .3s;}
	.masthead .sub-menu.active + .menu-arrow{transform: rotate(225deg);}
	figure img{height:auto;}
}

@media(max-width:750px){
	.content-width{padding:0 5px;}
	.logo-container{width:100%;}
	.logo-container svg{height:55px;}
	.menus{width:40px;}
	.header-phone-number{font-size:10.6vw;}
}

@media(max-width:450px){
	.wp-block-button{width:100%; max-width:100%;}
	.masthead .header-content{justify-content:space-between;}
}

/* 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;}
.are-vertically-aligned-bottom{align-items:flex-end;}

/* 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;}