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

/*Theme Variables*/
:root{
	/*site colors*/
	--color-1: #0a4c88;
	--color-2: #d1a063;
	--color-3: #9bb6ce;

	--text-color: #00315d;
	--white-text: #ffffff;
	--black-text: #000000;


	/*font sizes*/
	--fsize-xxl: clamp(50px, 10vw, 110px);
	--fsize-xl: clamp(44px, 4.8vw, 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:'Playfair Display',serif;
	--text-font: 'Roboto Variable', sans-serif;
	--accent-font: 'Inter', sans-serif;
	--signature-font: 'BrittanySignature', 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;background-image:url(/wp-content/uploads/2025/06/newest-burlap-bg-1.webp)}
*{box-sizing: border-box; -webkit-appearance: none;font-family:inherit; max-width: 100%;}
/* lazy loading flow fixes */
img{object-fit:cover;min-width:1px; height: auto; width: 100%;}
a{color: var(--color-1);text-decoration:none;transition: ease all .25s;}
nav a:hover {color: var(--color-3)}
nav a {padding:4px 8px 10px 1.3rem; color:white;}
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: var(--color-1);}
body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.5em; color: var(--text-color);}
h1{font-size:var(--fsize-xxl);}
h2{font-size:var(--fsize-xl); font-weight: bold;}
h3{font-size:var(--fsize-lg);}
h4{font-size:var(--fsize-md);}
h5{font-size:var(--fsize-sm);}

.relative {position: relative;}
/*Layout*/
.section-padding{padding: 5% 0;position:relative;}
.content-width{width: 100%; max-width: 1340px; padding: 0 20px; margin: 0 auto;}
.content-wrapper {display: flex; flex-direction: column; align-items: center;}
.flex{display: flex; flex-wrap: wrap;}
.slider-wrapper{max-width:2500px; margin:0 auto; overflow:hidden;}
.hide {display: none !important;}

.section-decor {max-width: 234px;}
.section-decor > .wp-block-group__inner-container {display: flex; justify-content: center;}

/* ADA header */
.masthead ul{list-style:none; display:flex;}
.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:15px 25px;}
.logo-container{width:20%; max-width: 350px;}
.logo-container a{display:block;}

.mobile-nav-input{display: none;}
#menu-main{padding: 0; font-weight:800; text-transform: uppercase;}
.masthead ul .current-menu-item > a:first-child, .masthead ul .current-menu-ancestor > a:first-child{color:var(--color-2); font-weight: 700;}
.menus{ justify-content: flex-end;padding: .5em}
.header-call-box{display:flex; align-items:center; justify-content:flex-end; gap:15px; color:var(--color-2); padding:0 15px 0 0;}
.header-call-box p{font-family:var(--heading-font); font-weight:700; font-size:clamp(16px, 1.5vw, 30px); margin:0; color: var(--color-2);}
.header-call-box a{color:var(--color-2); font-size:clamp(16px, 1.4vw, 30px); font-weight:500;}
.header-call-box a:hover {color: var(--white-text);}
.header-phone-number svg{width:25px; height:25px;}


.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); }
#menu-main-menu > li .sub-menu a{padding:.15em .5em .15em 0;display:block;}

/* button */
.button{transition:all 0.2s ease-in-out; color:black; display:block; width:max-content; min-width:max-content; padding:6px; text-decoration:none; font-weight:700; height:min-content; border:1.5px var(--color-2) solid; position: relative; z-index: 2;}
.button .inner-button{transition:all 0.2s ease-in-out; background:var(--color-2); display:flex; justify-content:space-between; align-items:center; padding:0 0.7rem;}
.button .left-key, .button .right-key{height:clamp(24px, 2vw, 40px); width:auto;}
.button .left-key{rotate:270deg;}
.button .right-key{rotate:90deg; -webkit-transform:scaleX(-1); transform:scaleX(-1);}
.button .inner-button p{text-align: center; transition:all 0.2s ease-in-out; margin:0.7rem 0; font-family:var(--heading-font); font-size:clamp(16px, 1.3vw, 24px); font-weight:700; text-transform:uppercase; color: var(--black-text);}

.button:hover{color: var(--white-text); border-color: var(--color-1);}
.button:hover .inner-button{background:var(--color-1);}
.button:hover .inner-button p {color: var(--white-text);}

.button.button-inverted {padding: 0; border: none; color: var(--color-2);}
.button.button-inverted .inner-button{background:transparent; padding: 0;}
.button.button-inverted .inner-button p { color: var(--color-2); text-decoration: underline; text-transform: capitalize; font-size:18px;}
.button.button-inverted .left-key, .button.button-inverted .right-key{height:clamp(20px, 1.8vw, 30px); width:auto;}

.button.button-inverted:hover, .button.button-inverted:hover .inner-button p {color: var(--color-1);}

.bg-text {position: absolute;width: 100%;top: 15%;left: 0;max-width: 100%;margin: 0;font-size: clamp(40px, 19vw, 300px);color: rgba(0, 0, 0, 0.5);opacity: 0.102;letter-spacing: -11px;text-transform: uppercase;color: #000000;font-weight: bold;font-family: "Playfair Display Roman";text-align: center;z-index: -1;filter: blur(4px);}

/* slider */

.slider {width: 100%;}

.slider > .wp-block-group__inner-container { display: flex; flex-direction: column;align-items: center; justify-content: center;position: relative; width: 100%}

.slider-line > .wp-block-group__inner-container {display: flex; width: 100%; transition: all 0.4s linear;}
.slider-line { overflow: hidden; width: 100%;}
.dot-wrapper {align-self: end; position: relative; width: 100%;display: flex;justify-content: center;}
.dot-wrapper > .wp-block-group__inner-container {display: flex; gap: 7px; align-items: center; cursor: pointer;}
.slider-controls .slider-arrow {transition: all 0.2s ease-in-out;}
.slider-controls .slider-arrow > .wp-block-group__inner-container {display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; background-color: var(--white-text); border-radius: 50%; cursor: pointer;}
.slider-controls .right.slider-arrow {transform: rotateY(180deg);}
.slider-controls .slider-dot {transition: all 0.3s ease-in-out; width: 10px; aspect-ratio: 1/1; border-radius: 50%; border: 1px solid var(--color-1);}
.slider-controls .slider-dot:hover {background-color: var(--color-1); opacity: 0.3;}
.slider-controls .slider-dot.active-dot { background-color: var(--color-1);}
.dot-wrapper > .wp-block-group__inner-container {display: flex; gap: 7px; align-items: center;}

.slide {position: relative; height: fit-content;}
.slide, .slide > .wp-block-group__inner-container {height: 100%;}

.slider-controls .slider-arrow:hover {transform: scale(1.2);}
.slider-controls .right.slider-arrow:hover {transform: rotateY(180deg) scale(1.2);}
@media(min-width: 1500px) {
	.content-width {max-width: 90%; width: 1800px;}
}
@media (min-width: 1211px){
	.header-content {flex: 1;}
	/* 	"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:linear-gradient(var(--color-1) 80%, transparent); transition:ease .5s; z-index: -1;}
	.masthead.fixed.active:before{height:100%;}
	.inner-masthead{flex-wrap:nowrap;}
	body.admin-bar .masthead {top: 32px;}
	.mobile-nav{display: none;}

		#menu-main-menu > li{position: relative; margin-bottom: 0!important;}
		#menu-main-menu > li > a{opacity: 1;white-space:nowrap;}
		#menu-main-menu > li > a:hover{opacity: 1;color: white;}
		#menu-main-menu > 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-menu > li:hover > .sub-menu, .masthead #menu-main-menu > li > a:focus + .sub-menu, .masthead #menu-main-menu > li:focus-within > .sub-menu{height: auto; padding: 15px 0 15px 15px; min-width: max-content; width:max-content; overflow: initial;border: 1px solid white;margin-top:5px; left: 23px;flex-direction:column;}
		.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;}

	#menu-main-menu > li:nth-last-child(-n + 3) .sub-menu{left:unset; right:0;}
}
@media(max-width:1300px){
	nav a{padding:4px 8px 4px 0.7rem;}
}
@media(max-width:1210px){
	.masthead{position:absolute; z-index:10; width:100%;}
	.masthead .header-content {display: flex;flex-direction: column;align-items: end;}
	.menus{width: 20%;}
	.masthead ul {flex-direction: column; gap: 10px;}
	.masthead ul li a {color: var(--color-1); font-weight: 600;}
	.masthead ul li a:hover {color: var(--color-2);}
	.mobile-nav{font-size: 26px; transform: scaleX(1.75); outline-color: var(--color-1); color:white;}
	.main-nav{position: absolute; top: 100%; 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;}
	.header-call-box{padding:0;}
	#mobile-nav-input:checked + * + .main-nav{height: auto; padding: 10px 25px; }
	#menu-main-menu .sub-menu{display: none;}
	#menu-main-menu li a{outline-color: var(--color-1);}
	#menu-main-menu .sub-menu{display: none; transition:ease.3s; padding:0;}
	#menu-main-menu .sub-menu.active{display: block; padding:15px;}
	#menu-main-menu .sub-menu.active li{padding:1px 0;}
	#menu-main-menu .current-menu-item > a{color: var(--color-2);}
	.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: 1000px){
	.bg-text {top: 150px;}
	.logo-container{width:40%;}
	.header-call-box {gap: 10px;}
}
@media (min-width: 751px) {
	/* DEFAULT CLASSES FOR ANIMATIONS */
	.transition{transition:ease 1s;}
	/* .fade-left{opacity:0; transform:translate(-50%, 0);}
	.fade-right{opacity:0; transform:translate(50%, 0);}
	.fade-up{opacity:0; transform:translate(0, 50%);}
	.fade-down{opacity:0; transform:translate(0, -50%);}
	.ghost-in{opacity:0;} */
	.transition.active{opacity:1; transform:none;transition:ease 1s;}

}
@media(max-width:450px){
	.masthead .header-content{width:100%; align-items:unset;}
	.button{min-width:320px; max-width:100%;width:inherit;}
	.button .inner-button{padding:0;}
	.logo-container{position:absolute; margin:45px 0 0;}
	.logo-container img{height:auto;}
	.header-call-box{justify-content: center;}
	.menus{width:100%; padding:8px 0;}

	.slider-controls .slider-arrow > .wp-block-group__inner-container {width: 35px; height: 35px;}
}

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