/*
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: #348081;
	--color-2: #0a2e4c;
	--color-3: #ebaa3f;
	--blue: #06193b;
	--blue-darken: #03122b;
	--orange: #f7941d;
	--gray: rgba(0,0,0,0.5);
	--white: white;
	--black: #000000;
	--subtle-white: rgba(255,255,255,0.25);
	--subtle-black: rgba(0,0,0,0.25);
	--accent-bg: #222;
	--accent-hover: #ebaa3f;
	--transluscent: rgba(30,30,30,0.9);

	/*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: "Jomolhari", serif;
	--text-font: "Manrope", 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;
	}
}


/*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;}
/* 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; font-weight: unset;}
nav a:hover {color: var(--accent-hover)}
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;}

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


/*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;}
.container {max-width: 1255px; margin: 0 auto; padding: 0 15px;}
.container-bio {max-width: 1670px; margin: 0 auto; padding: 0 15px;}


/* ADA header */
.masthead{background: var(--blue); padding: 0 20px;z-index: 10;}
.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; max-width: 1440px; margin: 0 auto;}
.logo-container{width: 20%;}
.masthead .logo-container img {display: block;}
.menus{width: 65%; justify-content: flex-end;padding: .5em 1em .5em .5em;}
.header-contact-items {width: 12%; margin-right: 5px;}
.header-contact-items .contact-text p {color: var(--orange); font-size: 14px; text-transform: uppercase; margin: 0; line-height: 1.7;}
.header-contact-items .contact-tel {color: var(--white); font-size: 22px; letter-spacing: .02em; font-family: var(--heading-font); display: block; width: fit-content;}
.mobile-nav-input{display: none;}
#menu-main{padding: 0; font-weight:800; text-transform: uppercase;}


/* General style */
.link-hovered {position: relative;}
.link-hovered:after {content: ''; position: absolute; width: 0; height: 2px; background-color: var(--orange); bottom: 0; left: 0; -webkit-transition: width .3s; -o-transition: width .3s; transition: width .3s;}
.link-hovered:hover:after {width: 100%;}

.btn {font-family: var(--heading-font); text-transform: uppercase;font-size: 14px; width: 100%; height: 50px; background-color: var(--orange); border: 2px solid var(--black); color: var(--black); letter-spacing: -.01em; text-decoration: none; outline: 2px solid var(--orange); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: color .2s, border-color .2s; -o-transition: color .2s, border-color .2s; transition: color .2s, border-color .2s}
.btn:hover {border-color: var(--white); color: var(--white);}

.decor-line {position: relative;}
.decor-line:after {content: ''; position: absolute;  height: 2px; background-color: var(--orange);}

.link-underline {display: block; text-transform: uppercase; font-size: 13px; height: -webkit-fit-content; height: -moz-fit-content; height: fit-content; font-family: var(--heading-font); text-decoration: none; color: var(--white); border-bottom: 1px solid var(--orange); -webkit-transition: color .2s, border-color  .2s; -o-transition: color .2s, border-color  .2s; transition: color .2s, border-color  .2s;}
.link-underline:hover {color: var(--orange); border-color: var(--white);}

.bio-page-content ul,
.internal-fullwidth ul,
.internal-sidebar .content-col ul {list-style: none;}
.bio-page-content ul li,
.internal-fullwidth ul li,
.internal-sidebar .content-col ul li {position: relative;}
.bio-page-content ul li:after,
.internal-fullwidth ul li:after,
.internal-sidebar .content-col ul li:after {content: ''; top: 11px; left: -19px; position: absolute; width: 5px; height: 5px; background-color: var(--black);}


@media (min-width: 1001px){
	.masthead {position: fixed; left: 0; width: 100%; z-index: 1000; top: 0;}
	body.admin-bar .masthead {top: 32px;}
	.mobile-nav{display: none;}
	.masthead .logo-container img {max-width: 230px;}
	.masthead .mobile-view {display: none;}
	.menus{position: relative;}
	.menus:after {content: ''; position: absolute; top: -16px; right: 0; width: 20px; height: 77px; background-color: var(--blue-darken);}

	#menu-main{display: -webkit-box;display: -ms-flexbox;display: flex; margin: 0; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;gap:.6em;}
	#menu-main > li{position: relative; margin-bottom: 0!important;}
	#menu-main > li a {color: var(--white); font-size: 14px; font-weight: 500;}
	.sub-menu{position: absolute; top: 100%; left: 0; background: var(--transluscent); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); height: 0; overflow: hidden; z-index: 1000; -webkit-box-shadow: 0 2px 7px rgba(0,0,0,.4); 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; min-width: 260px; overflow: initial;border: 1px solid var(--subtle-white)}
	#menu-main > li:hover > a,
	#menu-main > li.menu-item-has-children:hover > .sub-menu > li:hover > a,
	#menu-main > li.menu-item-has-children:hover > .sub-menu > li:hover > .sub-menu > li:hover > a {color: var(--orange);}
	.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: 290px; border: 1px solid var(--subtle-white); overflow:visible;}


	.main-menu li.menu-item-has-children {position: relative;}
	.main-menu > li.menu-item-has-children:after {position: absolute; content:""; right: -4px; top: 10px; border-top: 1px solid var(--white); border-right: 1px solid var(--white); width: 5px; height: 5px; -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg);}
	.main-menu > li.menu-item-has-children > .sub-menu > li.menu-item-has-children:after {content: ''; position: absolute; border-top: 1px solid var(--white); border-right: 1px solid var(--white); width: 5px; height: 5px; top: 50%; right: 10px; -webkit-transform: rotate(45deg) translateY(-50%); -ms-transform: rotate(45deg) translateY(-50%); transform: rotate(45deg) translateY(-50%);}
	#menu-main li.menu-item-has-children:hover:after {border-color: var(--orange);}
	.main-menu li.menu-item-has-children:hover:after,
	.main-menu > li.menu-item-has-children > .sub-menu > li.menu-item-has-children:hover:after {color: var(--white);}

}

@media (max-width: 1390px) and (min-width: 1001px) {
	.masthead {padding: 0 15px;}
	.menus{padding-right: 0;}
	.header-contact-items {margin-right: 0;}
	.header-contact-items .contact-text p {letter-spacing: -.3px; font-size: 1vw;}
	.header-contact-items .contact-tel {letter-spacing: -.1em; font-size: 2vw;}
	#menu-main > li a {font-size: 1.1vw; padding: .15em .25em;}

}

@media(max-width: 1000px){
	.masthead{position: relative; padding: max(15px, 2vw);}
	.logo-container{width: 75%;}
	.menus{width: 25%;}
	.masthead .mobile-view {width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 1vw; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 15px;}
	.header-contact-items .contact-text p {line-height: 1;}
	.masthead .desktop-view {display: none;}
	.mobile-nav{font-size: 22px; -webkit-transform: scaleX(1.75); -ms-transform: scaleX(1.75); transform: scaleX(1.75); outline-color: var(--white); color: var(--white);}
	.main-nav{position: absolute; top: 100%; width: 100%; left: 0; background: white; -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.3); box-shadow: 0 5px 10px rgba(0,0,0,.3); padding: 0 25px; height: 0; overflow: hidden; -webkit-transition: padding .25s; -o-transition: padding .25s; transition: padding .25s;}

	#mobile-nav-input:checked + * + .main-nav{height: auto; padding: 10px 25px;}
	#menu-main .sub-menu{display: none;}
	#menu-main li a{outline-color: var(--blue); color: var(--blue); font-weight: 600;}

	#menu-main .menu-item-has-children.is-active .sub-menu.is-opened {display: block;}


	.main-menu li.menu-item-has-children {position: relative;}
	.main-menu li.menu-item-has-children:after {position: absolute; content:""; right: -4px; top: 10px; border-top: 1px solid var(--blue); border-right: 1px solid var(--blue); width: 5px; height: 5px; -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; -o-transition: transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s;}
	.main-menu li.menu-item-has-children.is-active:after {-webkit-transform: rotate(315deg);-ms-transform: rotate(315deg);transform: rotate(315deg);}
	.main-menu li.menu-item-has-children:hover:after,
	.main-menu > li.menu-item-has-children > .sub-menu > li.menu-item-has-children:hover:after {color: var(--blue);}

}

@media (max-width: 750px) {
	.header-contact-items .contact-text p {font-size: min(18px, 3.5vw);}
	.header-contact-items .contact-tel {font-size: min(18px, 3.5vw); margin-left: 10px;}
}


/* 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: -webkit-box;display: -ms-flexbox;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: -webkit-box;display: -ms-flexbox;display: flex;gap: 1em;-webkit-box-align: center;-ms-flex-align: center;align-items: center;margin:1em 0;cursor:pointer;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}
.gchoice input[type=checkbox] {-webkit-appearance: none;-moz-appearance: none;appearance: none;color: var(--color-1);width: 1.5em;
	height: 1.5em;border: 2px solid;border-radius: 3px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-transition: ease all .25s;-o-transition: ease all .25s;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;-webkit-transition: ease opacity .25s;-o-transition: ease opacity .25s;transition: ease opacity .25s;}
.gchoice input[type=checkbox]:checked {background: var(--color-1);}
.gchoice input[type=checkbox]:checked::before {opacity: 1;}
label {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;cursor:inherit;}

/* 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;}
.has-text-align-right {text-align: right;}
