body {position: static;}

h1, h2 {overflow-wrap: normal; word-break: normal; hyphens: manual;}

.sifu {opacity: 0; transition: .5s ease-out; translate: 0 -20px;}
.sifu.int {opacity: 1; translate: none;}

/* rebuilt header */
.ph {position: sticky; top: 0; z-index: 999; padding-block: 12px;}
.ph:has(.ph-menubtn[aria-expanded="true"]) {color: #fff; background-color: var(--color-dark-gray);}
.ph::before {position: absolute; top: 0; left: 0; width: 100%; height: 5px; background-color: var(--color-green); content: '';}
.ph-wrap {display: grid; grid-template: var(--menubar) var(--menuheight, 0px) / 1fr auto; align-items: center; margin-inline: 12px; padding: 6px; border: 1px solid #d3d3d3; border-radius: 6px; color: var(--color-gray); background-color: var(--color-offwhite); transition: background-color .15s linear; backdrop-filter: blur(5px); --menubar: 32px;}
.ph-wrap:has(.ph-menubtn[aria-expanded="true"]) {max-height: 100%; overflow-y: auto; border-color: transparent; color: var(--color-white); background-color: transparent; backdrop-filter: none; --menuheight: calc(100dvh - var(--menubar) - var(--wp-admin--admin-bar--height, 0px));}
.ph-wrap.trans {border-color: transparent; color: var(--color-white); background-color: transparent; backdrop-filter: none;}
.ph-logo {justify-self: start;}
.ph-logo svg {max-width: 160px;}
.ph-logo .alt {color: var(--color-green);}
.ph-wrap.trans .ph-logo .alt {color: inherit;}
body:has(.ph-menubtn[aria-expanded="true"]) {position: fixed; top: 0; width: 100%;}
#maindocument:has(.ph-menubtn[aria-expanded="true"]) {position: fixed; top: var(--wp-admin--admin-bar--height, 0px); width: 100%;}
.ph-menubtn[aria-expanded="true"] .open, .ph-menubtn[aria-expanded="false"] .close {display: none;}
.ph-menubtn:not([aria-expanded="true"]) + .ph-menu {display: none;}
.ph-menu {grid-column: 1 / -1; align-self: start; width: 100%; padding-block: 60px 120px; font-weight: 500; font-size: 36px; letter-spacing: 2.5px; color: var(--color-white);}
.ph-menu li {padding-block: 24px; border-bottom: 1px solid;}

/* rebuilt applications block */
section .appteaser svg {transition: .15s linear rotate; rotate: 180deg;}
section:has(.appteaser):has(+ section[hidden]) .appteaser svg {rotate: 0deg;}

@media (width > 1024px) {

	.ph:has(.ph-menubtn[aria-expanded]) {padding: 30px calc(28px + var(--varpad)); background-color: transparent; --varpad: calc(var(--html-line-height) / var(--html-font-size) * .75 * 1rem);}
	.ph-wrap:has(.ph-menubtn[aria-expanded]) {grid-template: 48px / 1fr auto 1fr; gap: 10px;}
	.ph-wrap {padding: 15px calc(var(--html-line-height) / var(--html-font-size) * .75 * 1rem) calc(calc(var(--html-line-height) / var(--html-font-size) * .5 * 1rem));}
	.ph-logo svg {max-width: 200px;}
	.ph-menubtn {display: none;}
	.ph-menu {display: grid !important; grid-area: 1 / 2 / 2 / -1; grid-template: subgrid / subgrid; align-items: center; padding: 0; font-size: 11px; font-family: aktiv-grotesk-extended, sans-serif; text-transform: uppercase; color: #000;}
	.ph-menu ul {display: flex;}
	.ph-menu ul li {padding-block: 0; border-bottom: 0;}
	.ph-menu ul:first-child {grid-column: 1;}
	.ph-menu ul:first-child li {padding: calc(var(--html-line-height) / var(--html-font-size) * .25 * 1rem) calc(var(--html-line-height) / var(--html-font-size) * .5 * 1rem);}
	.ph-menu ul:first-child a:hover {color: gray;}
	.ph-wrap.trans .ph-menu ul:first-child a {color: var(--color-white);}
	.ph-wrap.trans .ph-menu ul:first-child a:hover {color: #d3d3d3;}
	.ph-menu ul:last-child {grid-column: 2; justify-self: end;}
	.ph-menu ul:last-child a {padding: 13px 18px; border: 1px solid; background-color: var(--color-white); transition: background-color .15s linear;}
	.ph-wrap.trans .ph-menu ul:last-child a:not(:hover) {color: var(--color-white); background-color: transparent;}
	.ph-menu ul:last-child a:hover {color: var(--color-white); background-color: var(--color-green);}

}

@media (width >= 1280px) {

	.ph:has(.ph-menubtn[aria-expanded]) {--varpad: calc(var(--html-line-height) / var(--html-font-size) * 2 * 1rem);}
	.ph-menu {font-size: 12px;}

}

@media (width >= 1680px) {

	.ph:has(.ph-menubtn[aria-expanded]) {--varpad: calc(var(--html-line-height) / var(--html-font-size) * 3 * 1rem);}
	.ph-menu {font-size: 13px;}

}

.gform_required_legend {position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.gform-theme--framework :where(input[type], textarea) {--gf-ctrl-font-size: medium !important;}
