/***************************************** 
    Header
*****************************************/

.header-block {
	z-index: 9;
}
.header-block--static {
	position: static;
    width: 100%;    
}
.header-block--static.header-block--goes-transparent {
    position: absolute;
}
.header-block--sticky{
	position: -webkit-sticky;
    position: sticky;
	top:0;
    width: 100%;
}
.header-block--sticky.header-block--goes-transparent{
    position: fixed;
}
.header-block--transparent:not(.header-block--mob-menu-open) .header{
    background-color: transparent;
    box-shadow: none;
}
.header-block--transparent:not(.header-block--mob-menu-open) .header__logo__img--transparent {
	opacity:1;
}
.header-block--transparent:not(.header-block--mob-menu-open) .header__logo__img--standard {
	opacity:0;
}

.header-block--transparent:not(.header-block--mob-menu-open).header-block-override-logo--transparent .header__logo__img--transparent {
	opacity:1;
}
.header-block--transparent:not(.header-block--mob-menu-open).header-block-override-logo--transparent .header__logo__img--standard {
	opacity:0;
}

.header-block--transparent:not(.header-block--mob-menu-open).header-block-override-logo--standard .header__logo__img--transparent {
	opacity:0;
}
.header-block--transparent:not(.header-block--mob-menu-open).header-block-override-logo--standard .header__logo__img--standard {
	opacity:1;
}

@media only screen and (min-width: 1081px) {
	/* 	Only auto hide on desktop */
	.header-block--hide-on-scroll.scrolled-past {
		/* 	hover target height */
		max-height: 4rem;
		margin-bottom: calc(var(--headerHeight, 86px) - 4rem);
	}
	.header-block--hide-on-scroll.scrolled-past:hover {
		max-height:none;
		margin-bottom:0;
	}
	/* Use inner div to allow hover to show nav */
	.header-block--hide-on-scroll > div {
		transition:transform 0.6s ease;
	}
	.header-block--hide-on-scroll.scrolled-past > div {
		transform:translate(0,-100%);
	}
	.header-block--hide-on-scroll.scrolled-past:hover > div {
		transform:translate(0);
	}
	.header-block--hide-on-scroll.scrolled-past:not(:hover) .header{
		box-shadow:none;
	}
}

.header {
	padding: var(--header-padding) 0;
    background-color: var(--header-backgroundColor);
	box-shadow: var(--header-shadowX) var(--header-shadowY) var(--header-shadowBlur) var(--header-shadowColor);
    width: 100%;
    transition: background-color 0.25s ease-in-out;
}
.header-container {
	display:flex;
	align-items:center;
	gap:1rem;
}

.header__logo {
    display: flex;
    align-items: center;
	margin:0;
	position:relative;
}
.header__logo__img {
	transition: all 0.25s ease-in-out 0.15s;
}
.header__logo__img--transparent {
	position:absolute;
	opacity:0;
}
.header__nav {
	margin-left:auto;
}
.header__nav__menu, .header__nav__submenu {
	margin: 0;
    padding: 0;
    list-style: none;
	min-width: 23rem;
	display:flex;
}

.header__nav__link {
    font-size: var(--header-navLinkSize);
    font-weight: var(--header-navLinkWeight);
	font-style: var(--header-navLinkStyle);
	text-decoration: none !important;
	transition: color 0.25s ease-in-out 0.15s, background 0.25s ease-in-out 0.15s, border 0.25s ease-in-out 0.15s;
	appearance:none;
}
.header__hamburger-container {display:none;}

.header .ctas__container{
    margin-top: 0;
    margin-bottom: 0;
}

.btn--header,
.cta--hubspot.cta--header .cta_button[style],
.cta--hubspot.cta--header .hs-web-interactive-inline[style] a {
    font-size: var(--header-navLinkSize);
    cursor:pointer;
    position: relative;
    display: flex;
    align-items: center;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-weight: var(--button-weight);
    font-size: var(--button-size);
    font-family: var(--font-linkFont);
    line-height: 1;
	padding: var(--button-paddingTop) var(--button-paddingLR) var(--button-paddingBottom) var(--button-paddingLR);
	text-decoration:none !important;
    border-radius: 0;
    border: 1px solid var(--color-white);
    transition: all .3s cubic-bezier(0.45, 0.05, 0.55, 0.95);
}

.btn--header.btn--secondary,
.cta--hubspot.cta--header.cta--secondary .cta_button[style],
.cta--hubspot.cta--header.cta--secondary .hs-web-interactive-inline[style] a {
    background-color: var(--color-white);
	color: var(--color-primary);
    border: 1px solid var(--color-white);
}

.header .header__buttons .btn--header.btn--secondary .btn__icon,
.cta--hubspot.cta--header.cta--secondary .cta_button[style] .btn__icon,
.cta--hubspot.cta--header.cta--secondary .hs-web-interactive-inline[style] a:after{
    border-left: 1px solid var(--color-primary);
}

.header .header__buttons .btn--header.btn--secondary:hover .btn__icon{
    border-left: 1px solid var(--color-primary);
}

.btn--header:hover,
.cta--hubspot.cta--header .cta_button[style]:hover,
.cta--hubspot.cta--header .hs-web-interactive-inline[style] a:hover{
	background-color: var(--color-white);
	color: var(--color-primary);
    border: 1px solid var(--color-white);
}

.cta--hubspot.cta--header .cta_button[style]:hover:after,
.cta--hubspot.cta--header .hs-web-interactive-inline[style] a:hover:after{
    border-left: 1px solid var(--color-primary);
    top: -1px;
    right: -1px;
    width: calc(5.6rem + 1px);
    height: calc(100% + 2px);
}

.cta--hubspot.cta--header .cta_button[style]:hover:after,
.cta--hubspot.cta--header .hs-web-interactive-inline[style] a:hover:after{
    border-left: 1px solid var(--color-primary);
}

.cta--header.has-icon .cta_button[style],
.cta--header.has-icon .hs-web-interactive-inline[style] a,
.btn--header.has-icon{
    padding-right: calc( var(--button-paddingLR) + 5.6rem) !important;    
}

.header .header__buttons .btn--header:hover .btn__icon{
    border-left: 1px solid var(--color-primary);
}

.header .header__buttons .btn__icon svg{
    font-size: 0.8em;
    height: 0.8em;
    width: 0.8em;
    margin-left: 0;
    margin-right: 0;
}

.header .header__buttons .btn__icon{
    display: inline-flex;
    position: absolute;
    top: 0;
    right: 0;
    width: 5.6rem;
    height: 100%;
    justify-content: center;
    align-items: center;
    border-left: 1px solid var(--color-white);
}

@media only screen and (min-width: 1081px) {        
    .btn--header,
    .cta--header{
        margin-top: 0;
        margin-bottom: 0;
    }
    
    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .btn--header.btn--primary{
        background-color: transparent;
        border-color: var(--color-primary);
        color: var(--color-primary);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .btn--header.btn--primary .btn__icon{
        border-color: var(--color-primary);
    }
    
    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .btn--header.btn--primary:hover{
        background-color: var(--color-primary);
        border-color: var(--color-white);
        color: var(--color-white);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .btn--header.btn--primary:hover .btn__icon{
        border-color: var(--color-white);
    }
    
    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .btn--header.btn--secondary{
        background-color: var(--color-primary);
        border-color: var(--color-white);
        color: var(--color-white);
    }
    
    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .btn--header.btn--secondary:hover{
        background-color: transparent;
        border-color: var(--color-primary);
        color: var(--color-primary);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .btn--header.btn--secondary .btn__icon{
        border-color: var(--color-white);
    }
    
    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .btn--header.btn--secondary:hover .btn__icon{
        background-color: transparent;
        border-color: var(--color-primary);
        color: var(--color-primary);
    }
    
    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--primary .hs-web-interactive-inline[style] a{
        background-color: transparent;
        border-color: var(--color-primary);
        color: var(--color-primary);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--primary.has-icon .hs-web-interactive-inline[style] a:after{
        border-color: var(--color-primary);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--primary .hs-web-interactive-inline[style] a:hover{
        background-color: var(--color-primary);
        border-color: var(--color-white);
        color: var(--color-white);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--primary.has-icon:hover .hs-web-interactive-inline[style] a:after{
        border-color: var(--color-white);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--secondary .hs-web-interactive-inline[style] a{
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        color: var(--color-white);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--secondary .hs-web-interactive-inline[style] a:hover{
        background-color: transparent;
        border-color: var(--color-primary);
        color: var(--color-primary);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--secondary.has-icon .hs-web-interactive-inline[style] a:after{
        border-color: var(--color-white);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--secondary.has-icon:hover .hs-web-interactive-inline[style] a{
        background-color: transparent;
        border-color: var(--color-primary);
        color: var(--color-primary);
    }
    
    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--secondary.has-icon .hs-web-interactive-inline[style] a:after{
        border-color: var(--color-white);
    }

    .header-block--transparent:not(.header-block-override-navigation--standard) .header__buttons .cta--header.cta--secondary.has-icon:hover .hs-web-interactive-inline[style] a:after{
        border-color: var(--color-primary);
    }
    
    .header__nav--left {
        margin-left:0;
        margin-right:auto;
    }
    .header__nav--center {
        margin-left:auto;
        margin-right:auto;
    }
    .header__nav--right {
        margin-left:auto;
    }
    
	.header__nav__li {
		position:relative;
		display:flex;
		margin:0 var(--header-navLinkMargin);
	}
	.header__nav__li--depth-1 {
		height:100%;
		display:inline-flex;
	}
	.header__nav__link {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex: 1;
		color: var(--header-navLinkColor);
		padding:var(--header-navLinkPaddingVertical) var(--header-navLinkPaddingHorizontal);
		border-radius:var(--header-navLinkHoverBorderRadius);
		border:var(--header-navLinkHoverBorderWidth) solid rgba(0,0,0,0);
		position:relative;
		z-index: 1;
		background:none;
	}
	a.header__nav__link--has-children {
		/* link next to chevron */
		padding-right:calc(var(--header-navLinkPaddingHorizontal)/3);
		border-right:0 !important;
		border-top-right-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
	}
	.header__nav__link--chevron {
		flex:0;
		padding:var(--header-navLinkPaddingVertical) 0;
		border-left:0 !important;
		border-top-left-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
	}
	.header__nav__link__chevron {
		/* link has chevron, add all padding to left between text */
		padding:0 0 0 calc(var(--header-navLinkPaddingHorizontal)/1.5);
		margin: 0 -3px;
        display: flex;
        align-items: center;
        justify-content: center;
	}
	.header__nav__link--chevron .header__nav__link__chevron {
		/* button seperate to chevron */
		padding:0 var(--header-navLinkPaddingHorizontal) 0 calc(var(--header-navLinkPaddingHorizontal)/3);
        display: flex;
        align-items: center;
        justify-content: center;
	}
	.header__nav__li.open > .header__nav__link {
		color:var(--header-navLinkOpenColor);
	}
	.header__nav__li > .header__nav__link.hover {
        background: var(--header-navLinkHoverBGColor);
        color: var(--header-navLinkHoverColor);
		border-color:var(--header-navLinkHoverBorderColor);
		text-decoration:var(--header-navLinkHoverUnderline) !important;
		transition: transition: color 0.25s ease-in-out 0s, background 0.25s ease-in-out 0s, border 0.25s ease-in-out 0s;
    }
    
	.header__nav__submenu {
		flex-direction:column;
		position:absolute;
		top: calc(100% + 1rem);
		background: var(--header-navInnerBoxBGColor);
		border-radius: var(--header-navInnerBoxBorderRadius);
		padding:var(--header-navInnerBoxPadding);
		border:var(--header-navInnerBoxBorderWidth) solid var(--header-navInnerBoxBorderColor);
		box-shadow:var(--header-shadowX) var(--header-shadowY) var(--header-shadowBlur) var(--header-shadowColor);
		line-height:var(--header-navInnerLinkLineHeight);
		visibility: hidden;
		opacity:0;
		transition: opacity 0.1s ease-in-out 0.1s, box-shadow 0.1s ease-in-out 0.1s, visibility 0s linear 0.25s;
		--header-navLinkMargin:0;
		--header-navLinkSize: var(--header-navInnerLinkSize);
		--header-navLinkColor: var(--header-navInnerLinkColor);
		--header-navLinkPaddingVertical: var(--header-navInnerLinkPaddingVertical);
		--header-navLinkPaddingHorizontal: var(--header-navInnerLinkPaddingHorizontal);
		
		--header-navLinkHoverColor: var(--header-navInnerLinkHoverColor);
		--header-navLinkHoverBGColor: var(--header-navInnerLinkHoverBGColor);
		--header-navLinkHoverBorderRadius: var(--header-navInnerLinkHoverBorderRadius);
		--header-navLinkHoverBorderWidth: 0;
		--header-navLinkHoverUnderline: none;
		
		--header-navLinkOpenColor: var(--header-navInnerLinkOpenColor);
	}
    
	.header__nav__li:hover > .header__nav__submenu,
	.header__nav__li.open > .header__nav__submenu {
		opacity:1;
		visibility: visible;
		transition: opacity 0.15s ease-in-out, box-shadow 0.15s ease-in-out, visibility 0s linear 0s;
    }
	.header__nav__submenu--level-3 {
		top:0;
		left:100%;
		min-height:100%;
		transition: opacity 0.15s ease-in-out 0.15s, visibility 0s linear 0.25s;
	}
	
	.header__nav__li.header__nav__li--mob-only {
		display:none;
	}

	.header-block--transparent:not(.header-block-override-navigation--standard) .header__nav__link {
		color: var(--header-transparentNavLinkColor);
	}
        
	.header-block--transparent:not(.header-block-override-navigation--standard) .header__nav__li > .header__nav__link.hover {
		background: var(--header-transparentNavLinkHoverBGColor);
		color: var(--header-transparentNavLinkHoverColor);
		border-color:var(--header-transparentNavLinkHoverBorderColor);
	}
	.header-block--transparent:not(.header-block-override-navigation--standard) .header__nav__li.open > .header__nav__link {
		color:var(--header-transparentNavLinkOpenColor);
	}
	.header-block--transparent:not(.header-block-override-navigation--standard) .header__nav__submenu {
		--header-transparentNavLinkColor: var(--header-navInnerLinkColor);
		
		--header-transparentNavLinkHoverColor: var(--header-navInnerLinkHoverColor);
		--header-transparentNavLinkHoverBGColor: var(--header-navInnerLinkHoverBGColor);
		
		--header-transparentNavLinkOpenColor: var(--header-navInnerLinkOpenColor);
	}
    

}

@media only screen and (max-width: 1080px) {
	.header {
		padding: var(--header-paddingMobile) 0;
	}
    
    .header-block--mob-menu-open .header {
        position: fixed;
    }

    .header-container{
        justify-content: space-between;
    }
    .header__buttons{
        display: none;
    }
	.header__logo {
		max-width: var(--header-mobileNavLogoWidth);
	}
	.header__hamburger-container{
        width: var(--header-mobileNavHamburgerWidth);
        height: var(--header-mobileNavHamburgerHeight);
        position:relative;
        cursor:pointer;
        background:none;
        padding:0;
        outline:none;
        display: block;
    }
        
    .header-block--transparent.header-block-override-navigation--standard .header__hamburger:not(.active)::before, .header-block--transparent.header-block-override-navigation--standard .header__hamburger:not(.active), .header-block--transparent.header-block-override-navigation--standard .header__hamburger:not(.active)::after{
        background-color: var(--color-white);    
    }    
    
    
	.header__hamburger::before, .header__hamburger, .header__hamburger::after {
        content:'';
        position:absolute;
        display: block;
        background: var(--header-mobileNavHamburgerColor);
        height: var(--header-mobileNavHamburgerThickness);
        width:100%;
        border-radius:2px;
    }
    .header__hamburger::before {
        top: var(--header-mobileNavHamburgerSpacing);
        transition:top 0.1s linear 0.1s, transform 0.1s linear, background 0.3s ease;
    }
    .header__hamburger {
        top:50%;
        transform:translate(0,-50%);
        transition:all 0.1s linear 0.1s, background 0.3s ease;
    }
    .header__hamburger::after {
        bottom: var(--header-mobileNavHamburgerSpacing);
        transition:bottom 0.1s linear 0.1s, transform 0.1s linear, background 0.3s ease;
    }
    .header__hamburger.active::before {
        top:0;
        transform: rotate(45deg);
        transition:top 0.1s linear, transform 0.1s linear 0.1s;
    }
    .header__hamburger.active {
        background:rgba(255,255,255,0);
        transition:all 0.1s linear, background 0.3s ease;
    }
    .header__hamburger.active::after {
        bottom:0;
        transform: rotate(-45deg);
        transition:bottom 0.1s linear, transform 0.1s linear 0.1s, background 0.3s ease;
    }
	
	.header__nav {
		background: var(--header-mobileNavBackgroundColor);
		position: fixed;
		top: var(--headerHeight, 5.5rem);
		bottom: 0;
		right: 0;
		width: 40rem;
		transform:translate(100%);
		visibility:hidden;
		transition:transform 0.25s linear, visibility 0s linear 0.25s;
	}
	.header__nav.active {
		transform:translate(0);
		visibility:visible;
		transition:transform 0.25s linear, visibility 0s linear 0s;
	}
	.header__nav__menu, .header__nav__submenu {
		display: flex !important;
		background: var(--header-mobileNavBackgroundColor);
		height: 100%;
		flex-direction: column;
        padding: 1.5rem 0;
        overflow:auto;
        width: calc(85% + 2em);
        margin: auto;
	}
    
    .header__nav__li:not(.header__nav__li--depth-1) {
        width: calc(85% + 2em);
        margin-left: auto;
        margin-right: auto;
    }
    
    .header__nav__submenu.active {
		visibility:visible;
		transform:translate(-100%);
		width: 100%;
		padding: 1.5rem 0;
		transition:transform 0.25s ease-in-out, visibility 0s linear 0s;
	}
    
	.header__nav__menu.overflow-hidden {
		overflow:hidden;	
	}
	.header__nav__li {
		margin: 0.5rem 0;
	}
	.header__nav__link {
		display: flex;
		color: var(--header-mobileNavLinkColor);
        background: var(--header-mobileNavLinkBackgroundColor);
		align-items: center;
		text-decoration: none!important;
		line-height: 1;
		padding: var(--header-mobileNavLinkPadding, 0.6em 1.2em);
		border-radius: var(--header-mobileNavLinkBorderRadius);
		width: 100%;
	}
	.header__nav__link--chevron, .header__nav__link__chevron {
		display:none;
	}
	.header__nav__li--has-submenu > .header__nav__link {
		justify-content:space-between;
	}
	.header__nav__li--has-submenu > .header__nav__link::after {
		content: "";
        width: 1.2em;
        height: 1.2em;
        display: block;
        background-size: contain;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctitle%3Echevron-right%3C/title%3E%3Cpath d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' fill='white' /%3E%3C/svg%3E");
	}
	.header__nav__li--menu-link > .header__nav__link {
		font-weight:600;
	}
	.header__nav__li--menu-back > .header__nav__link::before {
        content: "";
        width: 1.2em;
        height: 1.2em;
        display: block;
        background-size: contain;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctitle%3Echevron-left%3C/title%3E%3Cpath d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z' fill='white' /%3E%3C/svg%3E");
		margin-right: 1.5rem;
	}
	.header__nav__li > .header__nav__link:hover {
        background: var(--header-mobileNavLinkBackgroundColorHover);
        color: var(--header-mobileNavLinkColorHover);
    }   

	.header__nav__submenu {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 100%;
		width: 0;
		min-width:0;
		padding: 0;
		visibility:hidden;
		transition:transform 0.25s ease-in-out, visibility 0s linear 0.25s, padding 0s linear 0.25s, width 0s linear 0.25s;
	}
	
	.header__nav .header__buttons {
		display:flex;
		flex-wrap:wrap;
		margin-top:1rem;
	}
    
	.header-block--transparent .header__hamburger:not(.active)::before, .header-block--transparent .header__hamburger:not(.active), .header-block--transparent .header__hamburger:not(.active)::after{
		background-color: var(--header-transparentMobileNavHamburgerColor);
	}
    
    .header-block--transparent .header__hamburger.active::before, .header-block--transparent .header__hamburger.active::after{
		background-color: var(--header-mobileNavHamburgerColor);
	}
    
    .header-block--transparent .header__hamburger{
		background-color: var(--header-transparentMobileNavHamburgerColor);
	}
    
    .header-block--transparent .header__hamburger.active{
        background-color: transparent;
    }
    
    .header .ctas__container{
        flex-direction: column;
    }
    
    .header__nav__menu > .header__nav__li:not(.header__nav__li--depth-1) {
        width: calc(100%);
    }
}

@media only screen and (max-width: 767px){
	.header__nav {
		width:100%;
	}
}