/*
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*/
	--color-1: #000;
	--color-2: #ce2523;
	--white: #fff;
	--form-btn: rgb(31, 52, 76);
	--gray: #f7f7f7;
	--header-red: #cf3c28;
	--bg-menu: #1f1f1f;
	--footer-copyright: #ededed;
	--yellow: #d8ae27;
	--team-member-info: #f5f5f5;
	--pagination-yellow: #f90;

	/*font sizes*/
	--fsize-xl: clamp(40px, 4vw, 75px);
    --fsize-lg: clamp(32px, 2.4vw, 64px);
	--fsize-md: clamp(28px, 2.1vw, 40px);
	--fsize-sm: clamp(20px, 1.6vw, 30px);
	--fsize-default: 1.1em; /*ADA requires at least 16px*/

	/*font families*/
	--heading-font: "Playfair Display SC", serif;
	--text-font: "Roboto", 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-2);text-decoration:none;transition: ease all .25s;}
nav a {color: var(--color-1);}
nav a:hover {color: var(--color-2)}
nav a {padding: 0 .5em; font-size: 16px;}
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.1em;margin-block:1em;font-weight: 700;}
body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.6em;margin: 0; font-weight: 300;}
ul:not(.sub-menu),ol {margin-block: 16px;}
p{padding-bottom:15px;}
h1{font-size:var(--fsize-xl);}
h2{font-size:var(--fsize-lg); }
h3{font-size:var(--fsize-md);}
h4{font-size:var(--fsize-sm);}

h1{font-size:4em; font-family: var(--text-font);}
h2{font-size:60px; }
h3{font-size:33.6px;}
h4 {font-size: 28px; font-weight: 600;}
h5 {font-size: 16px; line-height: 1.5; font-weight: 700;}
/*Layout*/
section {overflow: hidden; position: relative;}
.section-padding{padding-block: 5%;}
.content-width{width: 1400px; max-width: 90%; padding-inline: 15px; margin: 0 auto;}
.flex{display: flex; flex-wrap: wrap;}
.slider-wrapper{max-width:2500px; margin:0 auto; overflow:hidden;}

.margin-0 {margin: 0;}

/* ADA header */
.masthead{ background-color: rgba(255, 255, 255, 0.8);    box-shadow: 0 0 10px rgba(0, 0, 0, .3);}
.masthead .content-width {width: 100%; max-width: 1500px; padding: 0;}
.masthead ul{list-style: none; margin: 0;}
.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;}

.button, .gform_footer input, .wp-element-button {text-decoration: none;cursor: pointer;background: var(--color-2);color: white ;padding: 17px 35px;max-width: 100%;text-align: center;display: inline-block;font-size: 20px;transition: all .25s;width: 290px;font-weight: 600; line-height: 1.4;}
.button:hover, .gform_footer input:hover, .wp-element-button:hover{box-shadow: 0 0 10px rgba(0, 0, 0, .5) inset;  transform: scale(.98);}
.inner-top-menu {display: flex; justify-content: flex-end;background: rgba(237, 237, 237, .6);padding: 16px; }
.top-menu {display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap;}
.top-menu li a {color: var(--color-2); font-size: 16px; font-weight: 500;}
.top-menu li a:hover {color: var(--color-1);}
.top-menu li:last-child a {font-weight: 800;color: #000 !important;border-bottom: 1px dotted;}

.inner-masthead{padding: 0 16px; }
.inner-masthead .content-width {display: flex;justify-content: space-between; align-items: center;}
header .logo-container{width: 19%;}

.mobile-nav-input{display: none;}
.menu-main{padding: 0; font-weight:800; text-transform: capitalize;}
.masthead ul .current-menu-item > a:first-child, .masthead ul .current-menu-ancestor > a:first-child{color:var(--color-2)}
.menus{ justify-content: flex-end; }
.header-call-box{display:flex; align-items:center; justify-content:flex-end; gap:7px; color: var(--header-red); font-size: 60px; font-weight: 600;}
.header-call-box p {margin: 0; font-weight: 600;}
.header-phone-number {color: var(--header-red); display: flex; align-items: center; gap: 0.15em; border-bottom: 4px solid var(--header-red); padding-bottom: 5px; transition: all 0.2s ease-in-out;}
.header-phone-number .phone-codes {display: flex; flex-direction: column; align-items: center; gap: 5px; background-color: var(--header-red); border-radius: 5px;padding:4px;}
.header-phone-number span { color: var(--white); display: inline-block;font-size: 16px; line-height: 1;}
.header-phone-number:hover {transform: translateY(-3px);}
.menu-main > li {display: flex;flex-direction: column;font-weight: 500;}
.menu-main > li .sub-menu a{padding:.25em .5em .25em 0; font-weight: 400;}
.menu-arrow{content: ''; position: absolute; width: 6px; height: 6px; border-bottom: 1px solid var(--color-1); border-right: 1px solid var(--color-1); transform: rotate(45deg);bottom: 22px; right: 0; transition:ease .3s;}

.menu-item-has-children:hover .menu-arrow {border-bottom: 1px solid var(--color-2); border-right: 1px solid var(--color-2);}
@media (min-width: 1001px){
	/* 	"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.active{backdrop-filter: blur(5px);}
	.masthead.fixed.active .inner-top-menu {background-color: var(--footer-copyright); }

	body.admin-bar .masthead {top: 32px;}
	.mobile-nav{display: none;}

	.menu-main{display: flex; margin: 0; flex-wrap: wrap; justify-content: flex-end;gap: 5px;}
	.menu-main > li{position: relative; margin-bottom: 0!important;}
	.menu-main > li.menu-item-has-children a {padding-right: 14px;}
	.menu-main > li a {padding-bottom: 10px;}
	.sub-menu{position: absolute; top: 100%; left: 0; height: 0; overflow: hidden; z-index: 1000; box-shadow: 0 1px 5px 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: 250px; background-color: white; overflow-y: scroll; padding: 15px 0 15px 15px; min-width: 300px; border: 1px solid white; /*scrollbar-color: var(--color-2) var(--gray); */}
	.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 + 3) .sub-menu{left:unset; right:0;}
	.menu-item-has-children:hover .menu-arrow { transform: rotate(225deg);}

	.sub-menu > li.current-menu-item > a {text-decoration: underline;}

	.sub-menu::-webkit-scrollbar {width: 10px;}
	.sub-menu::-webkit-scrollbar-track {background-color: var(--gray);}
	.sub-menu::-webkit-scrollbar-thumb {background-color: var(--color-2);border-radius: 5px;}

}

@media(max-width: 1000px){
	.content-width{width: 100%; max-width: 100%; padding: 0 15px; margin: 0;}
	.masthead{position: relative; top: 0; left: 0; width: 100%; z-index: 10;}
	.masthead .header-content {display: flex;flex-direction: column;align-items: end;}
	.inner-masthead {padding: 16px;}
	header .logo-container{width: fit-content; max-width: 250px;}
	.menu-main-menu-container {width: 600px;margin: auto;max-width: 100%;}
	.mobile-nav{font-size: 22px; transform: scaleX(1.75); outline-color: var(--color-1);}
	.main-nav{background-color: var(--bg-menu); position: absolute; top: 100%; width: 100%; left: 0; 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{gap: 15px; display: flex; flex-direction: column;}
	.menu-main .sub-menu{display: none;}
	.menu-main li a, .menu-main > li .sub-menu a{color:white;border-bottom: 1px dotted white; width: 100%; padding-block: 15px; line-height: 1;}
	.menu-main li:last-child a, .menu-main > li .sub-menu li:last-of-type a { border-bottom: none;}
	.menu-main li a:hover {color: var(--color-2);}
	.menu-main .sub-menu{display: none; transition:ease.3s; padding:0;}
	.main-nav .menu-item-has-children ul.sub-menu.active {display: flex; flex-direction: column; gap: 15px;max-height: 50vh;overflow: scroll; margin-top: 10px; padding-left: 40px;}
	.menu-main .sub-menu.active{display: block; padding: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);}
	.menu-arrow { bottom: auto; top: 25px; right:0; border-color: white; width: 10px; height: 10px; cursor: pointer;}
	.menu-arrow::after {content: ''; width: 300%; height: 300%; position: absolute; top: -75%; left: -75%; z-index: -1;}
	figure img{height:auto;}
	.header-call-box {display: none;}
}
@media(max-width: 750px) {
	h1{font-size:9vw;}
	h2{font-size:28px; }
	h3{font-size:20.8px;}
}

/* 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:0;margin-bottom: 4px;font-weight: 400;display: flex;}
.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;}