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

/*Theme Variables*/
:root{
	/*site colors*/
	--color-1: #c1131c;
	--color-2: #8d070d;
	--color-3: #f8f8f8;
	--color-4: #000000;
	--color-5: #2D3748;

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

	/*font families*/
	--heading-font: "Jost", sans-serif;
/* 	--text-font:"Roboto", sans-serif; */
	
	--text-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

/*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;background: #f8f8f8;}
*{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-2)}
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;}
.wp-block-separator { max-width: 160px; border-top: solid #000 2px;}
.wp-block-buttons {margin-top: 32px;}

/*Font Defaults*/
h1, h2, h3, h4, h5, h6{font-family: var(--heading-font); line-height: 1.25em;margin-bottom:0.5em;}
body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.5em;}
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-weight: 700; font-size: 20px;line-height: 1.5;}
h6 {font-size: 20px; font-weight: 400; line-height: 1.5;}
p{margin-bottom:32px;}
p:last-of-type{margin-bottom: 0;}
a {color: var(--color-1)}
a:hover {color: var(--color-2)}

/*Layout*/
/* .section-padding{margin:0; padding: 80px 0 !important;}
.section-margin{margin:80px auto !important;} */

.section-padding{margin:0; padding: 80px 0 ;}
.section-margin{margin:80px auto;}

/* .content-width{width: 1290px; max-width: 90%; padding: 0 24px; margin: 0 auto;} */
.content-width{max-width: 1290px; padding: 0 24px; margin: 0 auto;}
.flex{display: flex; flex-wrap: wrap;}
.slider-wrapper{max-width:2500px; margin:0 auto; overflow:hidden;}
figcaption {font-size: 14px;}
iframe #wpadminbar {display: none;}


.title{text-align:center;min-height: 200px; display: flex;align-items: center; text-align: center;justify-content: center;flex-direction: column; margin-bottom: 0;    background-image: url(/wp-content/uploads/2023/09/dallas-1.jpeg); background-repeat: no-repeat; background-position: 52% 63%;background-size: cover;position: relative;}
.title-overlay{background: rgba(0, 0, 0, 0.5);position: absolute; left: 0; right: 0; top: 0; bottom: 0;}
h1.page-title{font-size: 60px; color: #fff;margin: 0;z-index:2;}

/*buttons*/
.wp-block-buttons {flex-wrap: wrap;}
.wp-block-button {background: var(--color-1); border: 2px solid var(--color-1);box-shadow: 0px 0px 0px -7px rgba(0, 0, 0, 0);padding: 0.6em 1.2em;border-radius: 50px;}
.wp-block-buttons .wp-block-button:not(:last-child) { margin-right: 20px;}
a.wp-element-button {cursor: pointer; font-style: normal;font-weight: 600;font-size: 17px; color: #fff; font-family: Jost, sans-serif; text-transform: uppercase;text-decoration: none;}
.wp-block-button:hover {box-shadow: 0px 15px 25px -7px rgba(0, 0, 0, 0.1);background-color:var(--color-2);border-color:var(--color-2);}

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

/* header */
header .btn-primary {margin: 0 0 0 20px;font-style: normal;font-weight: 600;font-size: 17px; color: #fff; background: var(--color-1); border: 2px solid  var(--color-1);box-shadow: 0px 0px 0px -7px rgba(0, 0, 0, 0);padding: 0.6em 1.2em;font-family: Jost, sans-serif; text-transform: uppercase; border-radius: 50px; text-decoration: none; font-weight:800;}
header .btn-primary:hover {box-shadow: 0px 15px 25px -7px rgba(0, 0, 0, 0.1);background-color:var(--color-2);border-color:var(--color-2);}
header.masthead {height: 80px; display: flex; align-items: center; background:#fff;}
header.masthead .inner-masthead {max-height: 80px;width: 1290px; max-width: 90%; padding: 0 24px; margin: 0 auto; flex-direction: column; justify-content: center; align-items: center;}
header .logo-container img {max-width: 250px;}
header nav a {font-family: "jost";font-style: normal;font-weight: 700;font-size: 16px;line-height: 1.2; text-transform: uppercase;padding-left: calc(1.2em / 2);padding-right: calc(1.2em / 2);padding-top: 0.6em;padding-bottom: 0.6em;color: #000000;}
header nav a:hover {color:var(--color-1);}
header #menu-main > li:hover > .sub-menu {background: var(--color-4);border: none; padding: 0;}
header #menu-main .sub-menu li {padding: 0;}
header #menu-main > li .sub-menu a {color:#fff; padding: 14px; display: block;}
header #menu-main > li .sub-menu a:hover {color:#fff; background-color: var(--color-5);}
header #menu-main > li.menu-item-has-children {padding-right: 15px;}
#menu-main{padding: 0; font-weight:800; text-transform: uppercase;}
.menus{ justify-content: flex-end;padding: .5em}
.header-call-box{display:flex; align-items:center; justify-content:flex-end; gap:15px;}
.header-phone-number svg{width:25px; height:25px;}
#menu-main > li .sub-menu a{padding:.25em .5em .25em 0;}




@media (min-width: 1451px){
	/* 	"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: #fff; 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:1em;}
		#menu-main > li{position: relative; margin-bottom: 0!important;}
		.sub-menu{position: absolute; top: 100%; left: 0; height: 0; overflow: hidden; 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; min-width: 225px; overflow: initial;}
		.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{ width: initial; height: initial; min-width: 225px; background: #000;}

		#menu-main > li:nth-last-child(-n + 3) .sub-menu{left:unset; right:0;}
	.content-area {margin-top:80px;}
	header .menu-arrow{content: ''; position: absolute; margin-left: 15px; width:8px; height: 8px; border-bottom: 1px solid var(--color-4); border-right: 1px solid var(--color-4); transform: rotate(45deg); top: 6px; right:5%;transition:ease .3s;}

	
	header .btn-primary.for-mobile{display:flex;width:0; height:0; overflow:hidden; position:absolute; padding:0; border:none;}
	#closing-menu-btn{width:0; height:0; overflow:hidden;}
}

@media(max-width: 1450px){
	header.masthead {height: unset;}
	header .buttons {display: none;}
	.masthead{position: relative;}
	header.masthead .inner-masthead.flex {display: block; max-height: unset; max-width: unset; margin: 0; padding: 0;width: 100%;}
	header.masthead .inner-masthead.flex .menus {display: block; background-color: var(--color-1); color: #fff; width: unset;text-align: center;}
	.masthead .header-content {display: flex;flex-direction: column;align-items: end;}
	.mobile-nav .hamburger {font-size: 22px; transform: scaleX(1.75); outline-color: var(--color-1);}
	header.masthead .inner-masthead.flex .menus p {font-size: 16px; padding-right: 5px; margin: 0; display: inline-block;}
	.logo-container {display: block; text-align: center; margin: 15px 0;}
	#closing-menu-btn{width:90%; margin:15px auto 0;}
	.main-nav{position: absolute; top: 0; right: 0; background: #000; padding: 0 0px; width:0; height: 100vh; overflow: hidden; transition:ease-in-out .25s; z-index: 1000; opacity:0;}
	.menu-main-container{margin:0 auto; width:90%;}
	.btn-primary.for-mobile{display:flex; width:fit-content; margin-left:5%; font-weight:600;}
	#mobile-nav-input:checked + * + .main-nav{width: 90%; padding:0; overflow:auto; opacity:1;}
	#menu-main .sub-menu{display: none;}
	#menu-main li {text-align: left; padding-top: 1em;padding-bottom: 1em;}
	#menu-main li a{color: #fff; text-transform:capitalize; font-family:var(--text-font); font-weight:800;}
	#menu-main li:not(.menu-item-has-children) {border-bottom: 1px solid rgba(255, 255, 255, 0.1);}
	#menu-main .sub-menu{display: none; transition:ease.3s; padding:0;padding-left: 1em;}
	#menu-main .sub-menu.active li{padding-left: 1em;}
	#menu-main .sub-menu.active li.current_page_item a {color: var(--color-1);}
	#menu-main .sub-menu.active{display: block; padding:15px;}
	#menu-main .current-menu-parent a {padding-bottom: 1em; display: block;}
	.menu-item-has-children{position:relative;}
	.masthead .sub-menu.active + .menu-arrow{transform: rotate(225deg);}
	figure img{height:auto;}
	header .menu-arrow{content: ''; position: absolute; margin-left: 15px; width:8px; height: 8px; border-bottom: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); top: 22px; right:5%;transition:ease .3s;}
	
}
@media(max-width: 767px) {  
	.title{min-height:125px;}
	.content-width {max-width: 100%;}
	h1.page-title{font-size:30px;}
	.wp-block-button {margin: 0 0 16px 0!important;}
}

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