/* 
Theme Name: National Preservation Partners Network
Theme URI: https://www.robineaster.com
Description: Custom Theme for National Preservation Partners Network
Author: Robin Easter Design
Author URI: https://www.robineaster.com
Template: hello-elementor
Version: 3.4.9
Text Domain: nppn
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: 
*/

/* variables */
:root{
 /*colors*/
 --black: #1e1e1e;
 --brick: #a64e00;
 --ochre: #cc9a1d;
 --ochre-text: #b88e19;
 --green: #8b9b45;
 --green-text: #667f15;
 --purple: #b862a1;
 --purple-text: #aa5b95;
  /*fonts*/
  --hanken: "Hanken", sans-serif;
  --playtipi: "Playtipi", serif;
}

/* links */
a{color:var(--black);transition: color .3s ease;}
.page-content a{color:var(--green-text);}
a:hover{color:var(--brick);}

/* typography */
/** Set html to 62.5% so that all the REM measurements throughout are based on 10px sizing. ~1.5rem = 15px **/
html{font-size:62.5%}
body{
  color: var(--black);
  font-family: var(--hanken);
  font-size: 2.1rem;
  font-weight: 400;
  /* line-height: 32px; */
  line-height: 1.52;
}
p:last-of-type,p.no-margin{margin-block-end:0 !important}

/* font sizes gutenberg */
p.has-medium-font-size{font-size:2.1rem !important}

/*
.has-small-font-size {
  font-size: var(--wp--preset--font-size--small) !important;
}
.has-medium-font-size {
  font-size: var(--wp--preset--font-size--medium) !important;
}
.has-large-font-size {
  font-size: var(--wp--preset--font-size--large) !important;
}
.has-x-large-font-size {
  font-size: var(--wp--preset--font-size--x-large) !important;
}
:root :where(.is-layout-constrained) > * {
  margin-block-start: 24px;
  margin-block-end: 0;
}
:root :where(.is-layout-flex) {
  gap: 24px;
}
:root :where(.is-layout-grid) {
  gap: 24px;
}
*/

/** headings **/
.elementor-widget-heading .elementor-heading-title{line-height:inherit}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  color: var(--green-text);
  font-family: var(--playtipi);
  font-size: 4.4rem;
  font-weight: 300;
}
h1,.h1,.h1 h2,.h1 h3,.h1 h4,.h1 h5,.h1 h6{
  font-size: 4.4rem !important;
  /* line-height: 52px !important; */
  line-height: 1.18 !important;
}
h1.has-large-font-size,
h1.has-medium-font-size,
h1.has-small-font-size{
  font-size: 4.4rem !important;
}
h1 b,h1 strong{
  font-weight: 300 !important;
}
h2,.h2,.h2 h3,.h2 h4,.h2 h5,.h2 h6{
  color: var(--brick);
  font-size: 3rem !important;
  /* line-height: 38px !important; */
  line-height: 1.27 !important;
}
h2.has-large-font-size,
h2.has-medium-font-size,
h2.has-small-font-size{
  font-size: 3rem !important;
}
h3,.h3,.h3 h2,.h3 h4,.h3 h5,.h3 h6{
  color: var(--purple-text);
  font-family: var(--hanken);
  font-size: 1.8rem !important;
  font-weight: 600;
  letter-spacing: .018em;
  /* line-height: 32px !important; */
  line-height: 1.78 !important;
  text-transform: uppercase;
}
h3.has-large-font-size,
h3.has-medium-font-size,
h3.has-small-font-size{
  font-size: 1.8rem !important;
}
h4,.h4,.h4 h2,.h4 h3,.h4 h5,.h4 h6{
  color: var(--black);
  font-family: var(--hanken);
  font-size: 2.1rem !important;
  font-weight: 400;
  line-height: 1.52;
}
h4.has-large-font-size,
h4.has-medium-font-size,
h4.has-small-font-size{
  font-size: 2.1rem !important;
}


/** spacing **/
:root :where(.is-layout-flow) > * {margin-block-start:0;margin-block-end:0;}
:root :where(.is-layout-flow) > hr,hr,.ub_divider_wrapper{margin-block-start:5em;margin-block-end:5em}
:root :where(.is-layout-flow) > p,p{margin-block-start:0;margin-block-end:3rem}
p:empty{margin-block-end:0}
:root :where(.is-layout-flow) > h1,h1,.h1,.h1 h2,.h1 h3,.h1 h4,.h1 h5,.h1 h6{margin-block-start:0;margin-block-end:3rem}
:root :where(.is-layout-flow) > h2,h2,.h2,.h2 h3,.h2 h4,.h2 h5,.h2 h6{margin-block-start:0;margin-block-end:5rem}
:root :where(.is-layout-flow) > h3,h3,.h3,.h3 h2,.h3 h4,.h3 h5,.h3 h6{margin-block-start:0;margin-block-end:0}
:root :where(.is-layout-flow) > h4,h4,.h4,.h4 h2,.h4 h3,.h4 h5,.h4 h6{margin-block-end:0}
.wp-block-quote{margin:0}

hr,.wp-block-separator,.ub_divider_line{border-color:var(--black) !important}
hr,.ub_divider_line{position:relative}
hr::before,hr::after,.ub_divider_line::before,.ub_divider_line::after{
  border-radius: 100%;
  content: '';
  display: block;
  position: absolute;
   top: -6px;
  width: 10px;
   height: 10px;
}
hr::before,.ub_divider_line::before{background-color: var(--ochre);left:-1px}
hr::after,.ub_divider_line::after{background-color: var(--purple);right:-1px}

/* cpations */
.wp-block-cover + p,.wp-block-cover + p.has-small-font-size,p.caption{
  font-family: var(--hanken);
  font-size: 1rem !important;
  font-weight: 800;
  letter-spacing: .0875em;
  margin-top: 1em;
  text-transform: uppercase;
}
.wp-element-caption,figcaption{
  font-family: var(--hanken);
  font-size: 1rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .0875em;
  margin-top: 1em;
   margin-bottom: 3rem;
  text-transform: uppercase;
}
.wp-element-caption em{font-style:normal !important}
.wp-block-image.aligncenter .wp-element-caption,.wp-block-image.aligncenter figcaption{text-align:left}
.wp-block-image.short-bio{margin-bottom:1em}
/* board images max size! */
.short-bio.is-style-rounded{max-width:400px}

/* lists */
ul.wp-block-list{padding-left:0}
ul.wp-block-list li{
  list-style-position: outside;
  margin-left: .7em; /* same as marker size */
}
ul.wp-block-list li::marker{font-size:.7em}



/* nav */
.site-navigation{
  color: var(--black);
  font-family: var(--hanken);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: .05em;
  /* line-height: 22px; */
  line-height: 1.47;
  text-transform: uppercase;
}
.site-navigation ul.menu li a{
  color: var(--black);
  transition: color .3s ease;
}
.site-navigation ul.menu li a:hover,
.site-navigation ul.menu li a:focus,
.site-navigation ul.menu li.current_page_item > a,
.site-navigation ul.menu li.current-menu-item > a{
  color: var(--brick);
}
.sub-menu{
  color: var(--black);
  font-family: var(--playtipi);
  font-weight: 300;
  font-size: 2.1rem;
  letter-spacing: normal;
  /* line-height: 19px; */
  line-height: 1;
  text-transform: none;
}
.site-navigation .sub-menu{
  padding: 4.5rem !important;
  white-space: nowrap;
  width: max-content;
}
.site-navigation .menu > li:hover > .sub-menu,
.site-navigation .menu > li:focus-within > .sub-menu {
  display: block;
}
.site-navigation ul.menu li ul.submenu{transition: all .3s ease;}
.site-navigation ul.menu li ul.sub-menu li a{
  margin-block-end: 4px;
  padding: 8px 0;
}
.site-navigation ul.menu li ul li{
  border: none;
}
.site-navigation ul.menu li.menu-item-has-children::after{
  color: var(--black);
  display: none !important;
}
.site-navigation ul.menu{
  align-items: center;
  column-gap: 16px;
  height:100px;
  padding-right: 130px;
  position: relative;
}
.site-navigation ul.menu li.menu-item-has-children{
  padding-inline-end: 0;
}
.site-navigation ul.menu li.member-login{
  position: absolute;
   top: 0;
   right: 0;
}
.site-navigation ul.menu li.member-login a{
  background-blend-mode: multiply;
  background-color: var(--ochre);
  background-image: url(texture.webp);
  background-size: 1102px;
  border-radius: 100%;
  display: flex;
    align-items: center;
    justify-content: center;
  text-align: center;
  transition: all .3s ease;
  width: 100px;
   height: 100px;
}
.site-navigation ul.menu li.member-login a:hover{
  background-color: var(--purple);
  color: #FFF;
}
.site-navigation ul.menu li.current_page_item.member-login > a,
.site-navigation ul.menu li.current-menu-item.member-login > a{
  color: var(--black);
  background-color: var(--purple);
}

/** elementor **/
.elementor-widget-text-editor .elementor-widget-container p:last-child{margin-bottom:0}

/** gutenberg overrides  **/
html,body{overflow-x:clip}
.alignfull img{
  width: 100%;
  max-width: none;
  display: block;
}
.alignwide{margin-inline:0}
iframe{max-width:100%}
.wp-block-cover{position: relative;}
.wp-block-cover h1{
  background-blend-mode: multiply;
  background-color: var(--green);
  background-image: url('texture.webp');
  background-size: 1102px;
  border-radius: 100%;
  display: flex;
   align-items: center;
   justify-content: center;
  width: 440px !important;
   height: 440px !important;
  overflow: hidden;

  color: var(--black) !important;
  font-family: var(--playtipi) !important;
  font-size: 3rem !important;
  line-height: 38px !important;
  text-align: center !important;
}


:where(.wp-block-columns.has-background){padding:0 !important}
:root :where(.is-layout-flex),
.wp-block-media-text{gap: 0 8% !important}
:root :where(.is-layout-flex).img-grid,
:root :where(.is-layout-flex).wp-block-gallery{gap: 24px !important;}
.wp-block-media-text > .wp-block-media-text__content{padding: 0 !important;margin-bottom: 0 !important;}

h2:where(.wp-block-heading).has-background{padding: 0 !important}


/*** block tabs ***/
.wp-block-ub-tabbed-content{
  --ub-tabbed-title-background-color: transparent !important;
  --ub-tabbed-active-title-background-color: transparent !important;
  --ub-tabbed-active-title-color: var(--black) !important;
}
.wp-block-ub-tabbed-content-tabs-title{
  margin-bottom: 3rem;
  color: var(--black) !important;
  font-family: var(--hanken) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  line-height: 1.47 !important;
  text-transform: uppercase !important;
}
.wp-block-ub-tabbed-content-tab-title-wrap{
  background: transparent !important;
  border: 0px solid #FFF !important;
  border-top: 2px solid #FFF !important;
  border-bottom: 2px solid var(--black) !important;
  border-radius: 0 !important;
  color: var(--black) !important;
  /* padding: 0.5em 0.75em; adjust or set to 0 if needed */
  padding: 12px 20px;
  margin-right: 0;
}
.wp-block-ub-tabbed-content-tab-title-wrap.active,
.wp-block-ub-tabbed-content-tab-title-wrap.is-active {
  border: 2px solid var(--black) !important;
  border-bottom: 2px solid #FFF !important;
  box-shadow: none !important;
  color: var(--black) !important;
}
.wp-block-ub-tabbed-content-tabs-content {
  background: transparent;
  border: none !important;
  border-radius: 0 !important;
  padding: 2rem 0 0 !important;
}
.wp-block-ub-tabbed-content-tabs-content > div {
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
/* tabs */
.wp-block-ub-tabbed-content-tabs-title-tablet-horizontal-tab{
  flex-wrap: wrap;
}


/* Forms */
button,
input,
optgroup,
select,
textarea{
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}
input,
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea{
  border: 2px solid var(--brown);
  border-radius: 0;
  padding: 0.5rem 1rem;
  transition: all 0.3s;
  width: 100%;
}
input:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus{
  outline: none;
}
button,input{overflow:visible}
button,select{text-transform:none}
[type="button"],
[type="reset"],
[type="submit"],
button{
  width: auto;
  -webkit-appearance: button;
}
[type="button"],
[type="submit"],
button,
.elementor-button,
.ub-buttons .ub-button-container a.ub-button-block-main.ub-button-block-main,
.wp-block-button__link,
.is-style-outline .wp-block-button__link{
  background-color: var(--green);
  border: none;
  border-radius: 22px !important;
  color: var(--black);
  display: inline-block;
  font-family: var(--hanken) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  height: 44px !important;
  letter-spacing: .15em !important;
  line-height: 44px !important;
  margin: 0;
  padding: 0 22px !important;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: all .3s;
  user-select: none;
   -webkit-user-select: none;
   -moz-user-select: none;
  white-space: nowrap;
}
.page-content a.wp-block-button__link{color:var(--black)}
.ub-buttons .ub-button-container a.ub-button-block-main.ub-button-block-main{
  padding: 0 !important;
}
[type="button"]:not(:disabled),[type="submit"]:not(:disabled),button:not(:disabled){cursor:pointer}
[type="button"]:focus:not(:focus-visible),[type="submit"]:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
[type="button"]:focus,[type="button"]:hover,[type="submit"]:focus,[type="submit"]:hover,button:focus,button:hover,.elementor-button:hover,
.ub-buttons .ub-button-container a.ub-button-block-main.ub-button-block-main:hover,
.ub-buttons .ub-button-container a.ub-button-block-main.ub-button-block-main:focus,
.wp-block-button__link:hover,.wp-block-button__link:focus,
.page-content a.wp-block-button__link:hover,.page-content a.wp-block-button__link:focus{
  background-color: var(--purple);
  color: #FFF;
  text-decoration: none;
}
.ub-button-block-btn{
  margin-right: 22px !important;
  margin-left: 22px !important;
}
.wp-block-button strong,
.ub-button-block-btn strong{
  font-weight: 600 !important;
}

::placeholder {
  color: var(--black) !important;
  opacity: 1 !important;
}


/* fluentform */
.ff-default .ff-el-form-control{
  border: 1px solid var(--black) !important;
  border-radius: 0 !important;
  color: var(--black) !important;
  font-family: var(--hanken) !important;
  font-size: 1.6rem !important;
}
form.fluent_form_4 .ff-btn-submit:not(.ff_btn_no_style){
  background-color: var(--green) !important;
  color: var(--black) !important;
  transition: all .3s ease;
}
form.fluent_form_4 .ff-btn-submit:not(.ff_btn_no_style):hover{
  background-color: var(--purple) !important;
  color: #FFF !important;
}
.ff-default .ff_btn_style:focus, .ff-default .ff_btn_style:hover{
  opacity: 1 !important;
}

/* membership login form */
#loginform {
  margin: 2rem auto;
  font-family: inherit;
}
#loginform p {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
#loginform label {
  width: 180px;
  margin-right: 10px;
  font-weight: 600;
}
#loginform input[type="text"],
#loginform input[type="password"] {
  flex: 1;
  border: 1px solid var(--black);
  border-radius: 0;
  font-size: 2.1rem;
  transition: border 0.2s ease, box-shadow 0.2s ease;
  max-width: 400px;
}
#loginform input[type="text"]:focus,
#loginform input[type="password"]:focus {
  border-color: var(--purple);
  outline: none;
}
#loginform .login-remember {
  display: flex;
  align-items: center;
}
#loginform .login-remember [type="checkbox"], #loginform .login-remember [type="radio"]{width:auto}
#loginform .login-remember label {
  display: flex;
  align-items: center;
  gap: 8px;
  width: auto;
  font-weight: normal;
  cursor: pointer;
}
#loginform .login-submit {
  justify-content: flex-start;
}
#loginform .button {
  background-color: var(--green);
  color: var(--black);
  border: none;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease;
}
#loginform .button:hover {
  background-color: var(--purple);
}



/* @media (max-width: 600px) {
    #loginform p {
        flex-direction: column;
        align-items: flex-start;
    }

    #loginform label {
        width: 100%;
        margin-bottom: 5px;
    }
} */




/* footer */
#footer-wrap{margin-top:11rem}
footer,footer p{
  font-family: var(--hanken);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: .015em;
  /* line-height: 22px; */
  line-height: 1.5;
  margin-block-end: 0;
  text-transform: uppercase;
}
footer .h1,footer .h2,footer .h3,footer .h4,footer .h5,footer .h6{
  color: var(--black);
  text-transform: none;
}
#footer-wrap{
  background-blend-mode: multiply;
  background-color: var(--ochre);
  background-image: url(texture.webp);
  background-size: 1102px;
  padding: 9rem 0 1.2rem;
}
.footer-widgets .text-widgets{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6rem;
}
.footer-widgets .icon.social{
  display: inline-flex;
  margin: 0 !important;
}
.social-link {
  color: var(--black); /* default icon color */
   align-self: center;
  margin: 0 !important;
}
.social-link:hover {
  color: var(--brick); /* hover icon color */
}
.social-icon {
  fill: currentColor; /* makes SVG fill follow link color */
  transition: color .2s ease, fill .2s ease;
  width: 20px;
   height: 35px;
}
.copyright{
  font-family: var(--hanken);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .0875em;
  /* line-height: 21px; */
  line-height: 2;
  margin-top: 6rem;
  text-align: right;
  text-transform: uppercase;
}

/* forms */
.fluentform input[type="checkbox"], .fluentform input[type="radio"]{
  display: inline;
}
.ff-default .ff-el-form-check label.ff-el-form-check-label{
  display: flex;
   flex-direction: row;
   gap: 10px;
}
.fluentform .ff-el-form-check-label .ff-el-form-check-input,
.fluentform .ff-el-form-check-label span{
  width: fit-content;
}
.fluentform .ff-el-tc label.ff_tc_label > span{padding-top:0!important}

form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style){
  background-color: var(--green) !important;
  color: var(--black) !important;
}
form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style):hover{
  background-color: var(--purple) !important;
  color: #FFF !important;
}


.wp-block-buttons{row-gap: 24px !important;}

/* responsive */
.site-header,.site-main,.site-footer{
  padding: 0 7%;
}
.site-header{
  padding-block-end: 2rem !important;
  padding-block-start: 2rem !important;
}
.site-branding img{
  width: 100%;
   max-width: 360px;
}
.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container {
  margin-inline-end: auto;
  margin-inline-start: auto;
  padding: 8rem 7% 0;
  width: 100%;
}

.footer-widgets .text-widgets{flex-direction: column;gap: 4rem;}
.footer-widgets .h1{
  max-width: 480px;
  padding-bottom: 0;
}
.footer-widgets{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 2em;
}
.social-link{align-self: flex-end;}
@media(max-width:575px) {
  .page-header .entry-title,
  .site-footer .footer-inner,
  .site-footer:not(.dynamic-footer),
  .site-header:not(.dynamic-header),
  body:not([class*=elementor-page-]) .site-main,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container {
    padding-inline-end: 7%;
    padding-inline-start: 7%;
  }
  .site-header .header-inner{padding-inline-end: 0;padding-inline-start: 0;}
}
@media(min-width:576px) {
  .page-header .entry-title,
  .site-footer .footer-inner,
  .site-footer:not(.dynamic-footer),
  .site-header .header-inner,
  .site-header:not(.dynamic-header),
  body:not([class*=elementor-page-]) .site-main,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container {
    max-width:100%
  }
  .site-footer.footer-full-width .footer-inner,
  .site-header.header-full-width .header-inner {
    max-width:100%
  }
}
@media(min-width:782px) {
  .page-header .entry-title,
  .site-footer .footer-inner,
  .site-footer:not(.dynamic-footer),
  .site-header .header-inner,
  .site-header:not(.dynamic-header),
  body:not([class*=elementor-page-]) .site-main,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container {
    max-width:100%
  }
  .footer-widgets{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .social-link {align-self: center}
  .site-footer.footer-full-width,
  .site-header.header-full-width {
    max-width:100%
  }
}
@media(min-width:992px) {
  .page-header .entry-title,
  .site-footer .footer-inner,
  .site-footer:not(.dynamic-footer),
  .site-header .header-inner,
  .site-header:not(.dynamic-header),
  body:not([class*=elementor-page-]) .site-main,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container {
    max-width:100%
  }
  .site-footer.footer-full-width,
  .site-header.header-full-width {
    max-width:100%
  }
}
@media(min-width:1024px){
  .footer-widgets .text-widgets{
    flex-direction: column;
  }
  .footer-widgets .address{align-self:flex-start}
}
@media(min-width:1200px) {
  .page-header .entry-title,
  .site-footer .footer-inner,
  .site-footer:not(.dynamic-footer),
  .site-header,
  .site-header .header-inner,
  .site-header:not(.dynamic-header),
  body:not([class*=elementor-page-]) .site-main,
  .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container {
    max-width:1650px
  }
  .site-header{margin-inline-end: auto;margin-inline-start: auto;}
  .footer-widgets .h1{
    margin-block-end: 1.25rem;
  }
  .footer-widgets .text-widgets{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6rem;
  }
  .footer-widgets .address{
    align-self: center;
  }
  .site-footer.footer-full-width,
  .site-header.header-full-width {
    max-width:100%
  }
}
.site-header+.elementor {
  min-height:calc(100vh - 320px)
}



/* Kill Elementor mobile nav system */
.site-navigation-dropdown,
.site-navigation-toggle,
.site-navigation-toggle-holder {
  display: none !important;
}
.header-inner {
  display: contents !important;
}

/* Mobile nav */
.menu-toggle,.submenu-toggle{display:none;}
@media (max-width: 1024px){

  .site-header {
    display: flex;
    align-items: center;
  }
  .site-header .header-inner{flex-wrap: nowrap;}

  /* Hamburger button */
  /* Base SVG */
  .hamburger {
    width: 32px;
    height: 32px;
    display: block;
  }

  .menu-toggle {
    background: none;
    border: 0;
    cursor: pointer;
    display: block;
    line-height: 0;
    order: 2;
    padding: 0 !important;
  }
  .menu-toggle svg {
    width: 32px;
    height: 32px;
  }
  
  /* IMPORTANT: squared ends */
    .line {
      stroke: var(--black);
      stroke-width: 2;
      stroke-linecap: butt;              /* <-- square ends (not rounded) */
      transform-box: fill-box;           /* helps SVG transform behave */
      transform-origin: center;          /* rotate around center */
    }

    /* Prevent "close" animation from running on page load */
    body.js-ready .menu-toggle.active .top    { animation: top-in    360ms ease-in-out forwards; }
    body.js-ready .menu-toggle.active .middle { animation: mid-in    360ms ease-in-out forwards; }
    body.js-ready .menu-toggle.active .bottom { animation: bot-in    360ms ease-in-out forwards; }

    body.js-ready .menu-toggle:not(.active) .top    { animation: top-out  360ms ease-in-out forwards; }
    body.js-ready .menu-toggle:not(.active) .middle { animation: mid-out  360ms ease-in-out forwards; }
    body.js-ready .menu-toggle:not(.active) .bottom { animation: bot-out  360ms ease-in-out forwards; }

    /* Stage 1 (0-55%): move to middle
      Stage 2 (55-100%): rotate into X */
    @keyframes top-in {
      0%   { transform: translateY(0) rotate(0); }
      55%  { transform: translateY(6px) rotate(0); }
      100% { transform: translateY(6px) rotate(45deg); }
    }
    @keyframes bot-in {
      0%   { transform: translateY(0) rotate(0); }
      55%  { transform: translateY(-6px) rotate(0); }
      100% { transform: translateY(-6px) rotate(-45deg); }
    }

    /* Middle line fades after they "merge" */
    @keyframes mid-in {
      0%   { opacity: 1; }
      54%  { opacity: 1; }
      55%  { opacity: 0; }
      100% { opacity: 0; }
    }

    /* Reverse animation: un-rotate, then slide back */
    @keyframes top-out {
      0%   { transform: translateY(6px) rotate(45deg); }
      45%  { transform: translateY(6px) rotate(0); }
      100% { transform: translateY(0) rotate(0); }
    }
    @keyframes bot-out {
      0%   { transform: translateY(-6px) rotate(-45deg); }
      45%  { transform: translateY(-6px) rotate(0); }
      100% { transform: translateY(0) rotate(0); }
    }
    @keyframes mid-out {
      0%   { opacity: 0; }
      55%  { opacity: 0; }
      100% { opacity: 1; }
    }

    /* Optional: reduce motion */
    @media (prefers-reduced-motion: reduce) {
      body.js-ready .menu-toggle .line { animation: none !important; }
    }



  /* Keep nav styling independent */
  .site-navigation {
    display: none;
    order: 3;
    width: 100%;
  }

  .site-navigation.is-open {
    display: block !important;
    position: relative;
  }

  /* #site-header.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation.is-open {
    display: block !important;
  }

  #site-header.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation {
    display: none !important;
  } */


  /* Vertical menu */
  .site-navigation ul.menu {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: auto;
    list-style: none;
    padding: 2rem 0 150px 17.5rem;
    margin: 0;
  }

  .site-navigation ul.menu > li {
    display: flex;
    flex-wrap: wrap;
    padding: .5rem 0;
  }

  .site-navigation ul.menu li.member-login{
    top:unset;right:unset;bottom:24px;left:17.5rem;
  }

  /* Make parent items a row: link + submenu toggle */
  .site-navigation .menu-item-has-children {
    display: block;
    position: relative;
    width: 100%;
  }
  .site-navigation ul.menu > li > a {
    display: block;
    flex: 1;
    padding: 0;
    margin-right: 3.2rem;
  }
  .site-navigation ul.menu li.member-login a{padding:0}

  /* Submenu toggle button */
  .site-navigation button.submenu-toggle{ 
    width: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    padding: 0 !important;

    right: 0;
    position: absolute;
    top: 0;
  }
  .site-navigation .submenu-toggle {
    background: none;
    border: 0;
    cursor: pointer;
    display: block;
  }

  /* Rotate chevron when open */
  .site-navigation .menu-item-has-children.is-open > .submenu-toggle svg {
    transform: rotate(180deg);
    transition: transform .4s ease;
  }

  /* Submenu layout */
  .site-navigation ul.sub-menu {
    font-size: 2rem !important;
    width: 100%;
    /* Override theme inline styles */
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
  }
  .site-navigation .sub-menu{
    padding: 2rem 0 !important;
  }

  /* Submenu open */
  .site-navigation .menu-item-has-children.is-open > ul.sub-menu {
    display: block !important;
  }

  .submenu-toggle:hover,.submenu-toggle:focus,
  .menu-toggle:hover,.menu-toggle:focus,
  .site-header [type="button"]:hover,.site-header [type="button"]:focus{
    background: none;
    color: var(--black);
  }


  .postid-8474 .wp-block-image{display:block}
  .postid-8474 .wp-block-image img{width:100%}

  .wp-block-ub-tabbed-content-tabs-title-tablet-horizontal-tab{gap: 10px 0}
}
@media (max-width: 781px){
  .site-header .site-branding{width: calc(100% - 80px)}
  .site-navigation ul.menu {padding: 2rem 0 150px}
  .site-navigation ul.menu li.member-login{left:unset}
  .site-navigation ul.menu li ul.sub-menu li a{white-space:wrap}
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{margin-bottom:3.2rem}
  .wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100% !important}
  .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media{
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 3.2rem !important;
  }
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content{
    grid-column: 1;
    grid-row: 2;
  }
  .imgrow{
    flex-direction: column !important;
    margin-top: 2.4rem !important;
    gap: 2rem !important;
  }
}
@media (max-width: 580px){
  h1,.site-footer .h1{font-size: 4.125rem !important}
  .wp-block-cover h1{
    font-size: 2rem !important;
    line-height: 1.45 !important;
    width: 300px !important;
     height: 300px !important;
  }
}

/* =====================================================
   Custom mobile nav final overrides
   ===================================================== */

.site-navigation-dropdown,
.site-navigation-toggle,
.site-navigation-toggle-holder {
  display: none !important;
}

.menu-toggle,
.submenu-toggle {
  display: none;
}

@media (max-width: 1024px) {
  #site-header.site-header {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
  }

  #site-header .site-branding {
    order: 1;
  }

  #site-header .menu-toggle {
    order: 2;
    margin-left: auto;
    display: block !important;

    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--black);
    cursor: pointer;
    height: 32px !important;
    line-height: 0 !important;
    padding: 0 !important;
    width: 32px !important;
  }

  #site-header .menu-toggle svg {
    display: block;
    width: 32px;
    height: 32px;
  }

  #site-header .site-navigation {
    order: 3;
    flex-basis: 100%;
    width: 100%;

    display: none !important;
  }

  #site-header .site-navigation.is-open {
    display: block !important;
    position: relative;
  }

  /*
   * This directly defeats Hello Elementor's rule:
   * .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation
   */
  #site-header.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation.is-open {
    display: block !important;
  }

  #site-header .site-navigation ul.menu {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: auto;
    list-style: none;
    margin: 0;
    padding: 2rem 0 150px 17.5rem;
  }

  #site-header .site-navigation ul.menu > li {
    display: flex;
    flex-wrap: wrap;
    padding: .5rem 0;
    width: 100%;
  }

  #site-header .site-navigation ul.menu > li > a {
    display: block;
    flex: 1;
    margin-right: 3.2rem;
    padding: 0;
  }

  #site-header .site-navigation .menu-item-has-children {
    display: block;
    position: relative;
    width: 100%;
  }

  #site-header .site-navigation .submenu-toggle {
    display: block !important;

    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--black);
    cursor: pointer;
    height: 24px !important;
    line-height: 24px !important;
    padding: 0 !important;
    position: absolute;
    right: 0;
    top: 0;
    width: 24px !important;
  }

  #site-header .site-navigation ul.sub-menu {
    display: none !important;
    opacity: 1 !important;
    position: static !important;
    visibility: visible !important;
    width: 100%;
    padding: 2rem 0 !important;
    font-size: 2rem !important;
  }

  #site-header .site-navigation .menu-item-has-children.is-open > ul.sub-menu {
    display: block !important;
  }

  #site-header .site-navigation .menu-item-has-children.is-open > .submenu-toggle svg {
    transform: rotate(180deg);
    transition: transform .4s ease;
  }

  #site-header .site-navigation ul.menu li.member-login {
    top: unset;
    right: unset;
    bottom: 24px;
    left: 17.5rem;
    width: auto;
  }

  #site-header .site-navigation ul.menu li.member-login a {
    display: flex;
    padding: 0;
  }
}

@media (max-width: 781px) {
  #site-header .site-branding {
    width: calc(100% - 80px);
  }

  #site-header .site-navigation ul.menu {
    padding: 2rem 0 150px;
  }

  #site-header .site-navigation ul.menu li.member-login {
    left: unset;
  }
}