/*
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: #b37f36;
	--color-2: #cdb784;
	--color-3: #212121;
	--color-4: #1b1929;

	/*font sizes*/
	--fsize-xl: clamp(40px, 11.5vw, 177px);
    --fsize-lg: clamp(34px, 4.7vw, 100px);
	--fsize-md: clamp(26px, 3.3vw, 62px);
	--fsize-sm: clamp(20px, 1.6vw, 30px);
	--fsize-default: clamp(17px, 1.1vw, 20px); /*ADA requires at least 16px*/

	/*font families*/
	--heading-font: "Inter Variable", sans-serif;
	--text-font: "Inter 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;background: 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;height: auto;}
a{color: var(--color-1);text-decoration:none;transition: ease all .25s;}
nav a:hover {color: white; opacity: 1;}
nav a {padding: .25em .5em;color: white; opacity: .6;font-weight:700; letter-spacing: -1px;}
nav .current_page_item > a{color: var(--color-2) !important;}
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.05;margin-bottom:0.5em;color: var(--color-1);margin-top: 0;}
body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.5em;color: var(--color-4);font-weight: 500;letter-spacing: -.02vw;}
h1{font-size:var(--fsize-xl);}
h2{font-size:var(--fsize-lg);text-transform: uppercase;letter-spacing: -.03vw;}
h3{font-size:var(--fsize-md);font-family: var(--text-font);letter-spacing: -1px;}
h4{font-size:var(--fsize-sm);}
h3 span,
h2 span{color: var(--color-3);}


/*Layout*/
.section-padding{padding: 5% 0;position: relative;z-index:1;}
.content-width{width: 1800px; max-width: 90%; padding: 0; margin: 0 auto;}
.flex{display: flex; flex-wrap: wrap;}
.wp-block-columns{gap: 5%}
.wp-block-column{flex: 1;}
/* buttons  */
.wp-block-button .wp-element-button { color: black; position: relative; font-weight: 600; text-decoration: none; text-transform: uppercase; padding: 15px 35px; display: inline-flex; align-items: center; font-size: clamp(17px, 1.15vw, 20px); font-family: var(--heading-font); line-height: 1.6em; justify-content: center; text-align: center; min-width: max-content; overflow: hidden; z-index: 1; transition: background-position 0.6s ease, background-size 0.6s ease, color 0.3s ease; background: linear-gradient(to left, var(--color-1) 0%, var(--color-2) 70%); background-position: center; background-size: 100% 100%; cursor:pointer;
/* 	filter: drop-shadow(8px 10px 10px rgba(0, 0, 0, .15)); */
}
.wp-block-button:hover .wp-element-button { color: var(--color-2); }
.wp-block-button .wp-element-button::before { content: ""; position: absolute; top: 0; left: 0; width: calc(100% - 14px); height: calc(100% - 14px); opacity: 1; z-index: -1; border: solid black 3px; margin: auto; bottom: 0; right: 0; transition: border-color 0.6s ease; }
.wp-block-button .wp-element-button::after { content: ''; width: 100%; height: 100%; background: black; position: absolute; left: 0; top: 0; opacity: 0; transition: opacity 0.6s ease;z-index:-1; }
.wp-block-button:hover .wp-element-button::after{opacity: 1;}
.wp-block-button:hover .wp-element-button::before { border-color: var(--color-1); z-index: 1; color: var(--color-2);}
.wp-block-button.is-style-outline .wp-element-button { background: rgba(0,0,0,.3); color: var(--color-2); }
.wp-block-button.is-style-outline .wp-element-button { border: solid 1px var(--color-2);   padding: 14px 35px; }
.wp-block-button.is-style-outline .wp-element-button::before{border-color: var(--color-2);border-width: 1px; }
.wp-block-button.is-style-outline:hover .wp-element-button { background: transparent}
.wp-block-button.is-style-outline:hover .wp-element-button::after{background:var(--color-4);}

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

.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); opacity: 1;}
.menus{ justify-content: flex-end;padding: .5em 0;}
.header-call-box{display:flex; align-items:center; justify-content:flex-end; gap:35px;text-transform: uppercase;color: var(--color-2);font-size: clamp(17px, 1.1vw, 18px);}
.masthead .header-phone-number { display: flex; align-items: center; justify-content: center; gap:7px; text-align: right;font-weight: bold;line-height:1.1;color: var(--color-2);}
.masthead .header-phone-number:hover{color: white;}
.masthead .header-phone-number svg { width: 24px; height: auto; fill: var(--color-2); transition: fill 0.3s ease; }
.masthead .header-phone-number:hover svg { fill: white;}
.header-call-box .number { font-size: 1.3em; display: flex; align-items: center; gap: 4px; }
.header-call-box .translations a{color: white;font-weight: 600;}
.header-call-box .translations .gt-current-lang{color: var(--color-2);pointer-events: none;}
.header-call-box .translations{display: flex;gap: 1px;margin-bottom:0px; font-size: 1.2em;}
#menu-main > li .sub-menu a{padding:.25em .5em .25em 0;display: block;}
.masthead .logo-container .logo-s1 { fill: white; }

@media (min-width: 1001px){
	/* 	"FIXED" IS AN ANIMATEABLE CLASS FOR SMOOTH ANIMATION ON MASTHEAD */
		.masthead{padding: 10px 0;}
		.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(--color-4); transition: ease .5s; z-index: -1;border:1px solid rgba(0,0,0,.1); 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;}

		#menu-main{display: flex; margin: 0; flex-wrap: wrap; justify-content: flex-end;gap:1em;position: relative; right: -.4em;flex-wrap: nowrap; white-space: nowrap;}
		#menu-main > li{position: relative; margin-bottom: 0!important;}
		.sub-menu{position: absolute; top: 100%; left: 0; background: var(--color-4); backdrop-filter: blur(5px); 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; padding: 15px 0 15px 15px; width: 240px; min-width:max-content; overflow: initial;border: 1px solid black;}
		.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: initial; height: initial; min-width: 225px; border: 1px solid white;}

		#menu-main > li:nth-last-child(-n + 2) .sub-menu{left:unset; right:0;}
		.inner-masthead{align-items: center;flex-wrap: nowrap;}
		.inner-masthead .header-content{ flex: 1; display:flex: gap: 5px; flex-direction:column;}
		.inner-masthead .logo-container a{display:flex; height:100%;}
		.inner-masthead .logo-container svg {height: auto;position: relative; top:0px; max-width: clamp(100px, 19vw, 325px);width: 100%;}
		nav a{font-size: clamp(17px, 1.1vw, 18px);}

}

@media(max-width: 1000px){
	.masthead{position: absolute; z-index:11; width: 100%;}
	.masthead .header-content {display: flex;flex-direction: column-reverse;align-items: end;width: 100%;}
	.masthead .logo-container{padding: 10px 0 13px;order: 5;}
	.masthead .logo-container a,
	.masthead .logo-container svg,
	.masthead .logo-container {width: 90%;max-width:360px;display:flex;height:auto;justify-content: center;}
    .menus {width: 100%; position: absolute;bottom: 50px;color: white;left: auto;right: 5%;}
	nav .current_page_item > a{color: var(--color-1) !important;}
	.mobile-nav{font-size: 50px; transform: scaleX(1.45); outline-color: var(--color-1);}
	.main-nav{position: absolute; top: 130%; width: 100%; left: 5%; 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;}
	nav a:hover{color:var(--color-1);}
	#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;}
	#menu-main .sub-menu.active li{padding:5px 0;}
	.menu-item-has-children{position:relative;}
	.masthead .sub-menu.active + .menu-arrow{transform: rotate(225deg);}
	figure img{height:auto;}
	.menu-arrow{content: ''; position: absolute; width: 14px; height: 14px; border-bottom: 4px solid var(--color-1); border-right: 4px solid var(--color-1); transform: rotate(45deg); top: 6px; right:5%;transition:ease .3s;}
	.menu-arrow:before {content: '';display: block;width: 45px;height: 45px;top: 50%;position: absolute;transform: translate(-45%, -45%);left: 50%;}
	.section-padding{padding: 60px 0;}
	nav a{display: block;color: var(--color-3);}

	.header-phone-number svg {width: 45px;height: 45px;}
	.inner-masthead{padding-top:50px;}
	.header-call-box{width: 100%;z-index:9;}
	.header-call-box .translations{width: 100%;justify-content: end;gap: 1px;position: absolute;right: 5%;left: auto;top: 10%;}
	.header-call-box .translations a {white-space: nowrap;}
	.wp-block-columns{gap: 0px; flex-direction: column;}
	.wp-block-column{flex: 1 1 100%;}
	.masthead .header-phone-number {position: absolute;left: 5%;top: 13px;right: auto;justify-content:start; font-size: 1.7em;gap: 4px;font-weight: 500;}
	.header-call-box .number {white-space: nowrap;font-size:1.1em;}
	.masthead .header-phone-number svg{width: 11%;}

}

@media(max-width: 600px){
.header-call-box .translations {right: unset;top: unset;margin-top: 20px;width: 320px;left: 0%;text-align: center;display: flex;justify-content: center;font-size: 1em;margin-bottom:3px; z-index: 11;}
	.inner-masthead{justify-content:center;}
	.menus{top: 7%;}
	.masthead .logo-container {width: 75%;display: flex;justify-content: center;margin-top: 30px;}
	.main-nav{top: 70%;}
}


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