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

/*Theme Variables*/
:root{
	/*site colors*/
	--color-1: #9e5ece;
	--color-2: #ba2953;
	--color-3: #3f1b7f;
	--dark-purp:#3f1b7f;
	--light-purp: #9e5ece;
	--color-dark: #181c25;
	--white: #fff;
	--hover-red:#b52855;
	--accent-red:#ba2953;
	--gray: #a19fa2;
	--pink: #ff95b4;

	/*font sizes*/
	--fsize-xl: 55px;
	--fsize-lg: 40px;
	--fsize-md: 30px;
	--fsize-sm: 20px;
	--fsize-default: 18px; /*ADA requires at least 16px*/

	/*font families*/
	--heading-font: "Montserrat", sans-serif;
	--text-font: "Montserrat", sans-serif;
	--svg-font: "Montserrat svg", sans-serif;
	--signature-font: 'Brittany', sans-serif;
}
@media(max-width: 1000px){
	:root{
		/*font sizes*/
		--fsize-xl: 40px;
		--fsize-lg: 30px;
		--fsize-md: 20px;
		--fsize-sm: 18px;
	}
}
@media(max-width: 750px){
	:root{
		/*font sizes*/
		--fsize-xl: 35px;
		--fsize-lg: 25px;
		--fsize-md: 20px;
		--fsize-sm: 18px;
	}
}


      #site-logo .cls-1, #site-logo .cls-2 {fill: white;}
      #site-logo .cls-1 {fill-rule: evenodd;}
      #site-logo #N{animation:N 1.5s linear;transform-origin:200px;}
      #site-logo #I, #site-logo #I-dot{animation:I 1s linear;transform-origin:200px;}
      #site-logo #F{animation:F 1s linear;}
      #site-logo #T{animation:T 1.5s linear;transform-origin:200px;}
      #site-logo #Y{animation:Y 2s linear;transform-origin:1000px;}
      @keyframes N{from{transform:rotateX(90deg)}}
      @keyframes I{from{transform:rotateY(90deg)}}
      @keyframes F{from{transform:rotateX(180deg)}}
      @keyframes T{from{transform:rotateX(260deg)}}
      @keyframes Y{from{transform:rotateY(90deg)}}
/*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:black;}
*{box-sizing: border-box; -webkit-appearance: none;font-family:inherit; max-width: 100%;}
/* lazy loading flow fixes */
img{object-fit:contain;min-width:1px;}
img[src=""]{visibility: hidden;}
img[data-url]:before{content: '';display: block;padding-top: 56.25%;}
a{color: var(--color-1);text-decoration:none;transition: ease all .25s;}
nav a:hover {}
nav a {padding: .25em .1em; color:white; font-weight:400;}
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;}
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);}


.wp-block-column li{color:white; margin:5px 0;}

/*Layout*/
.section-padding{padding: 5% 0;}
.content-width{width: 1130px; max-width: 100%; padding: 0 15px; margin: 0 auto;}
.flex{display: flex; flex-wrap: wrap;}
#primary.content-area {overflow: hidden;}


/* ADA header */
.masthead{background: var(--accent-bg); padding: 0px 5%;}
.masthead ul{list-style: none;}
.skip-bar{position: absolute; display: block; width: 100%; text-align: center; height: 0; overflow: hidden; background: var(--accent-bg); 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: 15%;padding: 15px 0 0;}
.menus{width: 80%; justify-content: flex-end;padding: .5em}
.mobile-nav-input{display: none;}
#menu-main{padding: 0; font-weight:800; text-transform: uppercase;}

.header-contact{display:flex;width:54%; justify-content: space-between; text-shadow:0 0 10px black;}
.header-contact p{margin: 0 10px 0 0; font-size:clamp(6px,1.4vw,32px); font-weight: 600;}
.header-contact .number{color:var(--color-1);}
.header-contact .chat{color:var(--hover-red); display:flex;}



	.masthead.active{background:linear-gradient(black, rgba(63, 27, 127, .9)); box-shadow: 0px 0px 15px var(--color-3);}
/* GLOBAL BUTTON STYLES */
.custom-button{position:relative; width:fit-content; cursor:pointer;}


/* GRADIENT BUTTON */
.custom-button.gradient a{background:linear-gradient(90deg, var(--dark-purp)25%, var(--color-2)70%);; box-shadow:0 0 20px var(--color-2); color:white; border-left:1px solid #ff95b4; border-right:1px solid #ff95b4;}
.custom-button.gradient:before{background:#ff95b4; width:10%;}
.custom-button.gradient:after{background:#ff95b4; width:10%;}
.custom-button.gradient .btn-left-border{border-top:1px solid #ff95b4; border-bottom:none; width:85%;}
.custom-button.gradient .btn-right-border{border-top:none; border-bottom:1px solid #ff95b4;width:85%;}



.header-menu-container{ position: relative;
    top: -32px;
    display: flex;
    justify-content: end;}



.custom-button svg{margin-left:5px;}
.custom-button:hover svg path{fill:white !important;}


/* NEW DEFAULT BUTTON COLORS */

.custom-button a{width:300px;  display:flex; margin:0 auto; justify-content:center; align-items:center; text-decoration:none; transition:ease .5s; color:var(--color-2);font-weight:600; height:100%;}

.wp-block-button.secondary-button{min-width: fit-content; max-width: 90%; background: var(--hover-red); margin: 0 auto; color: white; padding: 15px 30px; border-radius: 15px; }
.wp-block-button.secondary-button a{text-decoration: none; font-weight: 600;color: white; text-align:center; display:block;}
@keyframes button-animation-left{
	0%{width:10%;}
	15%{width:0%;}
	50%{height:0%; }
	55%{width:10%;}
	100%{ height:100%;width:85%;}
	
}

@keyframes button-animation-right{
	0%{width:0%;}
	50%{height:0%;}
	75%{height:0%; }
	100%{width:10%;}
}

.custom-button a{background:linear-gradient(90deg,var(--color-2)25%, var(--dark-purp)70%); box-shadow:0 0 20px var(--color-1); color:white; transition:ease 1s;}

.custom-button:hover a{box-shadow:0 0 20px var(--color-2);}



	.custom-button:before{background:#ff95b4; width:10%; position:absolute; content:''; top:0; right:0; height:1px;transition:ease-in-out 1s;}
	.custom-button:after{background:#ff95b4; width:10%; position:absolute; content:''; bottom:0; left:0; height:1px;transition:ease-in-out 1s; }
	.custom-button .btn-left-border{position:absolute; content:''; top:0; left:0; height:100%;border-top:1px solid #ff95b4; border-left:1px solid #ff95b4; border-bottom:none;  width:85%;transition:ease-in-out 1s;}
	.custom-button .btn-right-border{position:absolute; content:''; top:0; right:0; height:100%; border-top:none; border-bottom:1px solid #ff95b4;  border-right:1px solid #ff95b4;width:85%;transition:ease-in-out 1s;}


.custom-button:hover .btn-left-border{ width:10%; height:100%;}

	.custom-button:hover .btn-right-border{position:absolute; content:''; top:0; right:0; width:10%; height:100%;}

.custom-button:hover:before{position:absolute; content:''; top:0; right:0%; width:85%; height:1px;}
	.custom-button:hover:after{position:absolute; content:''; bottom:0; left:0%; width:85%; height:1px;}

@media(max-width:750px){
	.custom-button{text-align:center;}
	 .custom-button a{width:100%;}
}



/* END GLOBAL BUTTON STYLES */

@media (min-width: 1001px){
	#menu-main > li:nth-last-child(-n + 3) .sub-menu{left:unset; right:0;}
	
	#menu-main > li:nth-last-child(-n + 3) .sub-menu .sub-menu{left: 100%; top:0%;}
	
	
	.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: 4px; right:5px;transition:ease .3s;}
	
	.masthead.active .sub-menu .menu-arrow{ border-bottom: 2px solid white; border-right: 2px solid white;}
	.sub-menu .menu-item-has-children:hover .menu-arrow{transform: rotate(-46deg);}
	.masthead .sub-menu:hover + .menu-arrow{transform: rotate(-46deg);}
	
	
	.header-mobile-contact{width:0; height:0; overflow:hidden;}
	nav a{font-size:1.1vw;}
	.masthead {position: fixed; left: 0; width: 100%; z-index: 1000; top: 0;}
	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; transition:ease .3s; }
	#menu-main > li:before{content:''; width:0%; height:0px; position:absolute; bottom:0; left:0; background:var(--color-1); transition:ease .3s;}
	#menu-main > li:hover:before{width:100%; height:2px;}
/* 	#menu-main > li:hover{border-bottom:1px solid var(--color-1);} */
.sub-menu{position: absolute; top: 100%; left: 0; background: rgba(0,0,0, 0.7); 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: 100%; 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: 260px; overflow: initial;border: 1px solid var(--subtle-white)}
.sub-menu > li{position: relative; padding:0 5px 5px 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: 300px; border: 1px solid var(--subtle-white);}
	
	#menu-main > li .sub-menu > li:before{content:''; width:0%; height:0px; position:absolute; bottom:0; left:0; background:var(--color-1); transition:ease .3s;}
	#menu-main > li .sub-menu > li:hover:before{width:100%; height:2px;}
	
}

/* SLIDER STYLES */
	.slider-wrapper {max-width: 2000px; /* adjust as needed */ margin: 0 auto ; overflow: hidden;background:white;}

@media(min-width:1800px){
	.slider-wrapper{max-width:100%; position:relative;}
/* 	.slider-wrapper:before{content:''; position:absolute; height:100%; width:15%; left:0; top:0; background:linear-gradient(to right, white 80%, transparent); z-index:1;}
	.slider-wrapper:after{content:''; position:absolute; height:100%; width:15%; right:0; top:0; background:linear-gradient(to left, white 80%, transparent)} */
	
	
	nav a{font-size:18px;}
}


@media(max-width: 1000px){
	.header-menu-container{top:0;}
	#menu-main .sub-menu{display: none; transition:ease.3s; padding:0;}
	#menu-main .sub-menu.active{display: block; padding:15px;}
	#menu-main .sub-menu.active li{padding:5px 0;}
	
	figure img{height:auto;}
	.menu-arrow{content: ''; position: absolute; width: 10px; height: 10px; border-bottom: 2px solid white; border-right: 2px solid white; transform: rotate(45deg); top: 2px; right:5%; transition:ease .3s;}
	
	.masthead .sub-menu.active + .menu-arrow{transform: rotate(225deg);}
	
	
	.menu-item-has-children{position:relative;}
	.inner-masthead{margin-top: 20px; justify-content:end;}
	.header-contact{width:0; height:0; overflow:hidden;}
	.header-mobile-contact{width: 100%; display: flex; justify-content: flex-end; gap:15px;}
	.header-mobile-contact .chat{color:var(--color-2);}
	.header-mobile-contact .chat{display:flex; align-items:center; }
	.header-mobile-contact .chat svg{width: 15px; height: 15px;}
	.header-mobile-contact p{font-size:2.2vw; font-weight:600;}
	
	.header-mobile-contact p{font-size:14px; font-weight:600;}
	
	.masthead{position: relative; z-index:1000; width:100%;}
	.logo-container{width: 20%; position: absolute; left: 5%; top: 20px; padding:0;z-index:2;}
	
	.logo-container{top:40px;}
	
	.menus{width: 20%;padding: 0 0.5em;}
	.mobile-nav{font-size: 22px; transform: scaleX(1.75);color: var(--color-1); text-align:end;}
	.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;}
	#mobile-nav-input:checked + * + .main-nav{height: auto; padding: 10px 25px;z-index:100;}
	
	#menu-main > li{padding:5px 0;}
	#menu-main li a{outline-color: var(--color-1);}
/* 	#menu-main > li:hover > .sub-menu,
	#menu-main > li:focus-within > .sub-menu,
	#menu-main > li:hover > .sub-menu > li:hover > .sub-menu,
	#menu-main > li:focus-within > .sub-menu > li:focus-within > .sub-menu{display: block;} */
}


@media(max-width:750px){
	body, p, ul, ol, li{font-family: var(--text-font); line-height: 1.1em;}
	.custom-button a p{margin:15px 0;}
}
@media(max-width:450px){
	.header-mobile-contact p{font-size:3.4vw; font-weight:600;}
}





/* 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:0em 1em;cursor:pointer;font-size:inherit; color: white; font-weight: 600;}
.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;}
.gchoice input[type=radio]{width: 10px; height: 10px; border: 1px solid var(--color-1); border-radius:50%;}
.gchoice input[type=radio]:checked {background: var(--color-1);}
label {user-select: none;cursor:inherit;}

.gform_legacy_markup_wrapper .gfield_radio li input[type=radio]{border: 1px solid white; height: 10px; width: 10px;}
/* #gform_wrapper_24 #gform_submit_button_24{background: #441884; color:white; border:none; padding:15px 30px; margin:0; font-size: 19px;} */
/* Built In WP Classes */
figure {display:inline-block;margin:0;}
.aligncenter {display:block;margin: 0 auto;}
.alignright {float: right;margin: .5em 0 1em 1em;}
.alignleft {float: left;margin: .5em 1em 1em 0;}
.has-text-align-center {text-align:center !important;}
.has-text-align-right {text-align: right;}
.are-vertically-aligned-center{align-items:center;}


/* STYLES FOR PM PRE LAUNCH FORM */
#gform_fields_106 .gfield_description{padding:0;}
#gform_fields_106 .gfield_label{margin-bottom:0;}
/* custom form styles for niftymarketing.com/forms/feedback/ */
#post-2687 .gform_legacy_markup_wrapper .gfield_radio li input[type=radio]{width:18px; height:18px}
#post-2687 .gform_legacy_markup_wrapper .gfield_radio li{margin:0 0 15px;}

@media(max-width:750px){
	#post-2687 .gform_legacy_markup_wrapper .gfield_radio li input[type=radio]{width:34px;}
}