/* overlay  */

.header-container .header-wrapper .desktop-nav-overlay {
	position: fixed;
	left: 0;
	right: 0;
	top: 129px;

	width: 100%;
	height: 100vh;

	background: linear-gradient(
		to bottom,
		rgba(14, 41, 67, 0) 0%,
		rgba(14, 41, 67, 0.75) 100%
	);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	z-index: 90;

	transition:
		opacity 0.3s cubic-bezier(.45, .05, .55, .95),
		visibility 0.3s cubic-bezier(.45, .05, .55, .95);
}

.header-container.mega-menu-open .desktop-nav-overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

@supports (height: 100dvh) {
	.header-container .header-wrapper .desktop-nav-overlay {
		height: 100dvh;
	}
}

/* end of overlay  */


html.mobile-menu-open,
body.mobile-menu-open {
	overflow: clip;
}

/* header  */


.header-container {
	width: 100%;
	position: sticky;
	top: 0;
	z-index: 1000;

/* 	background-color: var(--color-white); */
}

@media (max-width: 1201px) {
	.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper .links-list li button, .header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper .links-list li a {
		font-size: 14px!important;
	}
	.header-container .header-wrapper .top-header-container {
		padding: 8px 12px!important;
	}
	.header-container .header-wrapper .bottom-header-container {
		padding: 0 12px!important;
	}
}

@media (max-width: 1024px) {
	.header-container {
		display: none;
	}
}

.header-container .header-wrapper {
	width: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
}

.header-container .header-wrapper .top-header-container {
	padding: 8px 24px;
	/* height: 56px; */
	background-color: var(--color-white);
	width: 100%;
	border-bottom: 1px solid var(--color-matisse-100);
	display: flex;
	justify-content: center;
}

.header-container .header-wrapper .top-header {
	width: 100%;
	max-width: 1440px;
	align-items: center;
	display: flex;
	justify-content: end;
	
}

.header-container .header-wrapper .top-header .ctas-wrapper {
	display: flex;
	align-items: center;
	gap: 32px;
}

.header-container .header-wrapper .top-header .ctas-wrapper .email {

}

.header-container .header-wrapper .top-header .ctas-wrapper .email a {
	display: flex;
	gap: 8px;
	align-items: center;
	text-decoration: none;
	color: var(--color-matisse-950);
}

.header-container .header-wrapper .top-header .ctas-wrapper .email a:hover {
	text-decoration: underline;
}

.header-container .header-wrapper .top-header .ctas-wrapper .email a .icon-wrapper {
	width: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 20px;
}

.header-container .header-wrapper .top-header .ctas-wrapper .email a .icon-wrapper svg {
	width: 100%;
	height: auto;
	fill: var(--color-matisse-950);
	max-width: 100%;
}


.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call {

}

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a {
    --clip-size: 12px;

    margin: 0;

    display: flex;
    justify-content: end;
    align-items: center;

    background-color: var(--color-off-white);

    text-decoration: none;

    clip-path: polygon(
        var(--clip-size) 0,
        100% 0,
        100% calc(100% - var(--clip-size)),
        calc(100% - var(--clip-size)) 100%,
        0 100%,
        0 var(--clip-size)
    );
}


/* Hours */

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a .contact-hours {
    padding-left: 1.5rem;
    padding-right: .75rem;

    font-weight: 800;
    font-size: .875rem;
    line-height: normal;

    text-transform: uppercase;
    text-align: right;

    color: var(--color-matisse-950);
}


/* Contact number */

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a .contact-number {
    --clip-size: 12px;

    position: relative;
    isolation: isolate;

    display: flex;
    align-items: center;
    gap: .5rem;

    padding: 5px 24px 5px 5px;

    background-color: var(--color-red);
    color: var(--color-white);

    font-weight: 800;

    clip-path: polygon(
        var(--clip-size) 0,
        100% 0,
        100% calc(100% - var(--clip-size)),
        calc(100% - var(--clip-size)) 100%,
        0 100%,
        0 var(--clip-size)
    );

    transition: .2s ease-in-out;
}


/* Red outer clipped shape */

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a .contact-number::before {
    content: "";

    position: absolute;
    inset: 0;

    background-color: var(--color-red);

    clip-path: polygon(
        var(--clip-size) 0,
        100% 0,
        100% calc(100% - var(--clip-size)),
        calc(100% - var(--clip-size)) 100%,
        0 100%,
        0 var(--clip-size)
    );

    opacity: 0;

    z-index: -2;

    transition: opacity .2s ease-in-out;
}


/* Inner background */

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a .contact-number::after {
    content: "";

    position: absolute;
    inset: 1px;

    background-color: var(--color-off-white);

    clip-path: polygon(
        calc(var(--clip-size) - 1px) 0,
        100% 0,
        100% calc(100% - (var(--clip-size) - 1px)),
        calc(100% - (var(--clip-size) - 1px)) 100%,
        0 100%,
        0 calc(var(--clip-size) - 1px)
    );

    opacity: 0;

    z-index: -1;

    transition: opacity .2s ease-in-out;
}


.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a .contact-number p {
    margin: 0;
}


/* Phone icon container */

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a .contact-number .icon-wrapper {
    --icon-clip-size: 8px;

    width: 40px;
    height: 40px;
    min-width: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 10px;

    background-color: var(--color-white);

    clip-path: polygon(
        var(--icon-clip-size) 0,
        100% 0,
        100% calc(100% - var(--icon-clip-size)),
        calc(100% - var(--icon-clip-size)) 100%,
        0 100%,
        0 var(--icon-clip-size)
    );
	
	transition: background-color .2s ease-in-out;
}

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a .contact-number .icon-wrapper svg {
    width: 100%;
    height: auto;
    max-width: 100%;

    fill: var(--color-red);

    transition: fill .2s ease-in-out;
}


/* Hover */

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a:hover .contact-number {
    background-color: transparent;
    color: var(--color-matisse-950);
}

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a:hover .contact-number::before,
.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a:hover .contact-number::after {
    opacity: 1;
}

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a:hover .contact-number .icon-wrapper svg {
    fill: var(--color-red);
}

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a:hover .contact-number .icon-wrapper {
    background-color: var(--color-red);
}

.header-container .header-wrapper .top-header .ctas-wrapper .emergency-call a:hover .contact-number .icon-wrapper svg {
    fill: var(--color-white);
}


/* end of top header  */


/* bottom header  */

.header-container .header-wrapper .bottom-header-container {
	padding: 0px 24px;
    height: 62px;
    background-color: var(--color-white);
    width: 100%;
    border-bottom: 1px solid var(--color-matisse-100);
    display: flex;
    justify-content: center;
}

.header-container .header-wrapper .bottom-header-container .bottom-header {
	width: 100%;
    max-width: 1440px;
    align-items: center;
    display: flex;
	justify-content: space-between;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container {
	display: flex;
	gap: 16px;
	align-items: center;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .logo {
	height: 20px;
	width: auto;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .logo a {
	display: flex;
	height: 100%;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .logo a svg {
	width: 100%;
	height: auto;
	max-width: 100%;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .logo a svg * {
	fill: #000;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper {

}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper .links-list {
	display: flex;
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper .links-list li {

}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper .links-list li button, .header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper .links-list li a {
	cursor: pointer;
	font-size: 16px;
	text-decoration: none;
	color: var(--color-matisse-950);
	height: 62px;
	padding: 0px 12px;
	display: flex;
	background-color: unset;
	border: unset;
	gap: 8px;
	align-items: center;
}


.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper .links-list li button .chevron-wrapper {
	width: 16px;
	min-width: 16px;
	height: 16px;
	transition: .2s ease-in-out;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .links-container .links-wrapper .links-list li button .chevron-wrapper svg {
	width: 100%;
	height: auto;
	max-width: 100%;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link a {
    --clip-size: 12px;

	height: 48px;
	
    position: relative;
    isolation: isolate;

    display: inline-flex;
    align-items: center;
    gap: 16px;

    padding: 8px 14px 8px 24px;

    background-color: var(--color-matisse-500);
    color: var(--color-white);

    font-weight: 600;
    text-decoration: none;

    clip-path: polygon(
        var(--clip-size) 0,
        100% 0,
        100% calc(100% - var(--clip-size)),
        calc(100% - var(--clip-size)) 100%,
        0 100%,
        0 var(--clip-size)
    );

    transition: .2s ease-in-out;
}


/* Outer blue border shape */

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link a::before {
    content: "";
    position: absolute;
    inset: 0;

    background-color: var(--color-matisse-500);

    clip-path: polygon(
        var(--clip-size) 0,
        100% 0,
        100% calc(100% - var(--clip-size)),
        calc(100% - var(--clip-size)) 100%,
        0 100%,
        0 var(--clip-size)
    );

    opacity: 0;
    z-index: -2;

    transition: opacity .2s ease-in-out;
}


/* White inner shape */

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link a::after {
    content: "";
    position: absolute;
    inset: 1px;

    background-color: var(--color-white);

    clip-path: polygon(
        calc(var(--clip-size) - 1px) 0,
        100% 0,
        100% calc(100% - (var(--clip-size) - 1px)),
        calc(100% - (var(--clip-size) - 1px)) 100%,
        0 100%,
        0 calc(var(--clip-size) - 1px)
    );

    opacity: 0;
    z-index: -1;

    transition: opacity .2s ease-in-out;
}


/* Arrow container */

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link a:hover .contact-arrow {
	background-color: var(--color-matisse-500);
}

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link .contact-arrow {
    --icon-clip-size: 7px;

    position: relative;

    width: 36px;
    height: 36px;
    min-width: 36px;

    background-color: var(--color-white);

    clip-path: polygon(
        var(--icon-clip-size) 0,
        100% 0,
        100% calc(100% - var(--icon-clip-size)),
        calc(100% - var(--icon-clip-size)) 100%,
        0 100%,
        0 var(--icon-clip-size)
    );
	
	transition: 0.2s background-color ease-in-out;
}


/* Arrow */

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link .contact-arrow::before {
    content: "";

    position: absolute;
    inset: 0;

    background-color: var(--color-matisse-500);

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 640%22%3E%3Cpath d=%22M566.6 342.6C579.1 330.1 579.1 309.8 566.6 297.3L406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3C348.8 149.8 348.8 170.1 361.3 182.6L466.7 288L96 288C78.3 288 64 302.3 64 320C64 337.7 78.3 352 96 352L466.7 352L361.3 457.4C348.8 469.9 348.8 490.2 361.3 502.7C373.8 515.2 394.1 515.2 406.6 502.7L566.6 342.7z%22/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 640%22%3E%3Cpath d=%22M566.6 342.6C579.1 330.1 579.1 309.8 566.6 297.3L406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3C348.8 149.8 348.8 170.1 361.3 182.6L466.7 288L96 288C78.3 288 64 302.3 64 320C64 337.7 78.3 352 96 352L466.7 352L361.3 457.4C348.8 469.9 348.8 490.2 361.3 502.7C373.8 515.2 394.1 515.2 406.6 502.7L566.6 342.7z%22/%3E%3C/svg%3E");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: 20px 20px;
    mask-size: 20px 20px;

    transform: rotate(-45deg);

    transition:
        transform .2s ease-in-out,
        background-color .2s ease-in-out;
}


/* Hover */

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link a:hover {
    background-color: transparent;
    color: var(--color-matisse-950);
}

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link a:hover::before,
.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link a:hover::after {
    opacity: 1;
}

.header-container .header-wrapper .bottom-header-container .bottom-header .contact-link a:hover .contact-arrow::before {
    transform: rotate(0deg);
    background-color: var(--color-white);
}


/* end of bottom header  */


/* mega menu  */

.header-container .header-wrapper .mega-menu-positioner {
	position: absolute;

	top: 100%;
	left: 0;
	right: 0;

	width: 100%;

	pointer-events: none;

	z-index: 100;

	
}

.header-container.mega-menu-open .mega-menu-positioner {
    pointer-events: auto;
}


.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper {
	width: 100%;
	max-width: 1568px;
	margin: 0 auto;
	padding: 0 24px;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport {
	position: relative;
	display: grid;
	width: 100%;
	overflow: hidden;
	background-color: var(--color-white);
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;

	height: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

	transition:
		height .4s cubic-bezier(.45, .05, .55, .95),
		opacity .3s cubic-bezier(.45, .05, .55, .95),
		visibility .3s cubic-bezier(.45, .05, .55, .95);

    will-change: height, opacity;

}

.header-container.mega-menu-open .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel {
	grid-area: 1 / 1;
	width: 100%;
	min-width: 0;

	align-self: start;

	opacity: 0;
    visibility: hidden;
    pointer-events: none;


	will-change: opacity, transform;
}

/* active nav trigger */

.header-container .header-wrapper .bottom-header-container .bottom-header [data-mega-target][aria-expanded="true"] {
    color: var(--color-matisse-500);
}

.header-container .header-wrapper .bottom-header-container .bottom-header [data-mega-target][aria-expanded="true"] .chevron-wrapper {
    transform: rotate(180deg);
}


.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner {
	width: 100%;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout {
	display: flex;
	flex-direction: column;
	width: 100%;
	align-items: stretch;
}

@media (min-width: 1201px) {
	.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout {
		flex-direction: row;
	}
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main {
	/* width: 100%; */
	flex-grow: 1;
	padding: 32px;	
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 32px;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid.locations-grid {
    grid-template-columns: repeat(4, 1fr);
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .title {
	font-size: 12px;
	color: rgba(33, 33, 33, 0.8);
	text-transform: uppercase;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items {
	margin-top: 12px;
	display: grid;
	grid-template-columns: repeat(1,1fr);
	gap: 16px;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a {
	display: flex;
	padding: 8px;
	align-items: center;
	text-decoration: none;
	gap: 16px;
	transition: .2s ease-in-out;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a:hover {
	background-color: var(--color-matisse-50);
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a:hover .icon-wrapper {
	background-color: var(--color-matisse-950);
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a .icon-wrapper {
	width: 40px;
	height: 40px;
	min-width: 40px;
	background-color: var(--color-matisse-900);
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .2s ease-in-out;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a:hover .icon-wrapper svg {
	fill: var(--color-white);
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a .icon-wrapper svg {
	width: 16px;
	height: auto;
	max-width: 100%;
	fill: var(--color-white);
	transition: .2s ease-in-out;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a .link-title {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a .link-title span {
	font-size: 14px;
	color: var(--color-matisse-950);
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-main .panel-main-grid .main-grid-item .link-items a .link-title p {
	margin: 0;
	font-size: 14px;
	color: rgba(33, 33, 33, .6);
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured {
	padding: 32px;
	width: 300px;
	min-width: 300px;
	border-left: 1px solid rgba(14, 41, 67, 0.1);
	background-color: var(--color-matisse-50);
	display: flex;
	flex-direction: column;
	gap: 48px;
}

@media (max-width: 1200px) {
	.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured {
		width: 100%!important;
	}
	.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured .featured-item a img {
		width: fit-content!important;
		height: 200px!important;
	}
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured .featured-title {
	font-size: 14px;
	color: red;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured .featured-item {
	width: 100%;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured .featured-item a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	gap: 32px;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured .featured-item a img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	max-width: 100%;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured .featured-item a .featured-item-description {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured .featured-item a .featured-item-description span {
	font-size: 14px;
	color: var(--color-matisse-950);
}

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel .mega-panel-inner .mega-panel-layout .mega-panel-featured .featured-item a .featured-item-description p {
	margin: 0;
	font-size: 14px;
	color: rgba(33, 33, 33, .6);
}

/* mega menu panel animations */

/* first menu opening */

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel.is-active.mega-enter-open {
	animation: megaPanelOpen .4s cubic-bezier(.45, .05, .55, .95) both;
}


/* moving left through navigation */

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel.is-active.mega-enter-left {
	animation: megaPanelEnterLeft .4s cubic-bezier(.45, .05, .55, .95) both;
}


/* moving right through navigation */

.header-container .header-wrapper .mega-menu-positioner .mega-menu-wrapper .mega-menu-viewport .mega-panel.is-active.mega-enter-right {
	animation: megaPanelEnterRight .4s cubic-bezier(.45, .05, .55, .95) both;
}

/* initial open */

@keyframes megaPanelOpen {
	0% {
		opacity: 0;
		transform: translateY(8px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}


/* user moved left - panel comes from left */

@keyframes megaPanelEnterLeft {
	0% {
		opacity: 0;
		transform: translateX(-16px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}


/* user moved right - panel comes from right */

@keyframes megaPanelEnterRight {
	0% {
		opacity: 0;
		transform: translateX(16px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

/* end of mega menu  */


/* end of header  */



/* mobile header  */

#mobile-header {
	width: 100%;
	display: flex;
	flex-direction: column;
	
	position: sticky;
	top: 0;
	left: 0;
	right: 0;

	z-index: 1000;
	
}

#mobile-header .top-row {
	width: 100%;
	display: flex;
	justify-content: end;
	padding: 8px 32px;
	border-bottom: 1px solid var(--color-matisse-100);
	background: var(--color-white);
}

#mobile-header .top-row .contact-ctas {
	display: flex;
	gap: 20px;
	align-items: center;
}

#mobile-header .top-row .contact-ctas a {
	display: flex;
	gap: 8px;
	align-items: center;
	text-decoration: none;
	color: var(--color-matisse-950);
	font-size: 14px;
}

#mobile-header .top-row .contact-ctas a .icon-wrapper {
	width: 20px;
	min-width: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#mobile-header .top-row .contact-ctas a .icon-wrapper svg {
	width: 100%;
	height: auto;
	max-width: 100%;
	fill: var(--color-black);
}

/* bottom row  */

#mobile-header .bottom-row {
	width: 100%;
	height: 60px;
	display: flex;
	align-items: center;
	padding: 0 32px;
	gap: 20px;
	background: var(--color-white);
	border-bottom: 1px solid var(--color-matisse-100);
	justify-content: space-between;
}

#mobile-header .bottom-row .logo {
	height: 20px;
}

#mobile-header .bottom-row .logo a {
	display: flex;
}

#mobile-header .bottom-row .logo a img, 
#mobile-header .bottom-row .logo a svg {
	width: 100%;
	height: auto;
	max-width: 100%;
}

#mobile-header .bottom-row .logo a svg * {
	fill: var(--color-black);
}

#mobile-header .bottom-row .hamburger-container {
    font-size: 16px;
    border: 1px solid var(--color-white);
    padding: 0;
    margin: 0;
    height: 40px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-matisse-100);
    border-radius: 6px;

    position: relative;
    cursor: pointer;
}


/* hamburger lines */

#mobile-header .bottom-row .hamburger-container .hamburger-line {
    pointer-events: none;

    position: absolute;
    top: 50%;
    left: 50%;

    width: 18px;
    height: 1.5px;

    background-color: var(--color-matisse-950);
    border-radius: 999px;

    transform-origin: 50%;

    transition:
        transform .3s ease-in-out,
        opacity .3s ease-in-out;
}


/* top line */

#mobile-header .bottom-row .hamburger-container .hamburger-line-1 {
    transform: translate(-50%, calc(-50% - 5px));
}


/* middle line */

#mobile-header .bottom-row .hamburger-container .hamburger-line-2 {
    transform: translate(-50%, -50%);
}


/* second half of X */

#mobile-header .bottom-row .hamburger-container .hamburger-line-2::after {
    content: "";

    position: absolute;
    inset: 0;

    background-color: inherit;
    border-radius: inherit;

    transform: rotate(0deg);

    transition:
        transform .3s ease-in-out;
}


/* bottom line */

#mobile-header .bottom-row .hamburger-container .hamburger-line-3 {
    transform: translate(-50%, calc(-50% + 5px));
}


/* open state */

/* hide top */

#mobile-header .bottom-row .hamburger-container[aria-expanded="true"] .hamburger-line-1 {
    opacity: 0;
}


/* rotate middle */

#mobile-header .bottom-row .hamburger-container[aria-expanded="true"] .hamburger-line-2 {
    height: 2px;
    transform: translate(-50%, -50%) rotate(-45deg);
}


/* create other half of X from middle */

#mobile-header .bottom-row .hamburger-container[aria-expanded="true"] .hamburger-line-2::after {
    height: 2px;
    transform: rotate(90deg);
}


/* create other half of X from middle */

#mobile-header .bottom-row .hamburger-container[aria-expanded="true"] .hamburger-line-2::after {
    transform: rotate(90deg);
}


/* hide bottom */

#mobile-header .bottom-row .hamburger-container[aria-expanded="true"] .hamburger-line-3 {
    opacity: 0;
}

/* end of bottom row  */

/* end of mobile header  */

@media (min-width: 1025px) {

	#mobile-header,
	#mobile-menu {
		display: none;
	}

}

/* mobile menu  */

#mobile-menu {
	background-color: var(--color-white);
	width: 100%;
	overflow: hidden;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 97px;
	z-index: 100;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity .3s cubic-bezier(.45, .05, .55, .95),
		visibility .3s cubic-bezier(.45, .05, .55, .95);
}

#mobile-menu.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

#mobile-menu .wrapper {
	height: 100%;
	background-color: var(--color-white);
	display: flex;
	flex-direction: column;	
}

#mobile-menu .wrapper .menu-items-container {
	overflow: hidden;
	flex: 1;
	min-height: 0;
}

#mobile-menu .wrapper .menu-items-container .height-controller {
	height: 100%;
	overflow: hidden;
}

#mobile-menu .wrapper .menu-items-container .height-controller .mobile-menu-levels {
	position: relative;
    width: 100%;
    height: 100%;
	overflow: hidden;
}

#mobile-menu .wrapper .menu-items-container .height-controller .mobile-menu-levels .mobile-menu-level { 
	position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;

	overflow-x: hidden;

	-webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#mobile-menu .mobile-menu-level-2 .mobile-menu-back {
	justify-content: flex-start;
}

#mobile-menu .mobile-menu-level-2 .mobile-menu-back svg {
	transform: none;
	width: 20px;
	min-width: 20px;
}

#mobile-menu .wrapper .menu-items-container .height-controller .inner-wrapper {
	padding: 0 32px;
	width: 100%;
}

#mobile-menu .wrapper .menu-items-container .height-controller .inner-wrapper button, #mobile-menu .wrapper .menu-items-container .height-controller .inner-wrapper a {
	cursor: pointer;
	text-decoration: none;
	color: var(--color-matisse-950);
	background-color: var(--color-white);
	padding: 0;
	height: 64px;
	font-size: 16px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: unset;
	border-left: unset;
	border-right: unset;
	border-bottom: 1px solid rgba(33, 33, 33, 0.1);
}

#mobile-menu .wrapper .menu-items-container .height-controller .inner-wrapper button.mobile-menu-back {
	justify-content: start;
	gap: 8px;
	padding: 0 32px;
	font-size: 14px;
}

@media (max-width: 576px) {
	#mobile-menu .wrapper .menu-items-container .height-controller .inner-wrapper button.mobile-menu-back {
		padding: 0 12px;
	}
	#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group {
		padding: 24px 12px!important;
	}
}

#mobile-menu .wrapper .menu-items-container .height-controller .inner-wrapper button.mobile-menu-back svg {
	transform: rotate(0deg);
}

#mobile-menu .wrapper .menu-items-container .height-controller .inner-wrapper button svg {
	width: 26px;
	min-width: 26px;
	transform: rotate(270deg);
	height: auto;
	max-width: 100%;
}


/* level 1 */

#mobile-menu .mobile-menu-level-1 {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;

    transition:
        transform .3s cubic-bezier(.45, .05, .55, .95),
        opacity .3s cubic-bezier(.45, .05, .55, .95);

    will-change: transform, opacity;
}


/* level 2 */

#mobile-menu .mobile-menu-level-2 {
    opacity: 0;
    transform: translateX(100%);
    pointer-events: none;

    transition:
        transform .3s cubic-bezier(.45, .05, .55, .95),
        opacity .3s cubic-bezier(.45, .05, .55, .95);

    will-change: transform, opacity;
}

/* level 1 moves out to the left */

#mobile-menu .mobile-menu-level-1.is-hidden {
	opacity: 0;
	transform: translateX(-100%);
	pointer-events: none;
}


/* selected level 2 moves in from the right */

#mobile-menu .mobile-menu-level-2.is-active {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}


#mobile-menu .mobile-menu-level-2 .inner-wrapper {
	padding: 0 0px!important;
    width: 100%;
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px 32px 24px 32px;
}

/* every group after another group */
#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group + .mobile-menu-group {
    padding-top: 0!important;
}


#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group:last-child {
    /* padding-bottom: 24px; */
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group .mobile-menu-group-title {
	text-transform: uppercase;
	font-size: 12px;
	font-weight: bold;
	color: rgba(33, 33, 33, 0.8);
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group .mobile-menu-links {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 4px;
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group .mobile-menu-links a {
	width: 100%;
	display: flex;
	padding: 8px 0;
	gap: 16px;
	justify-content: start;
	align-items: center;
	border-bottom: unset;
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group .mobile-menu-links a .icon-wrapper {
	width: 40px;
	min-width: 40px;
	height: 40px;
	border-radius: 3px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-matisse-900);
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group .mobile-menu-links a .icon-wrapper svg {
	fill: var(--color-white);
	width: 16px;
	height: auto;
	max-width: 100%;
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group .mobile-menu-links a .link-main-name {
	font-size: 14px;
	color: var(--color-matisse-950);
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group .mobile-menu-links a .link-subtext {
    font-size: 14px;
    color: rgba(33, 33, 33, 0.6);
}

#mobile-menu .mobile-menu-level-2 .inner-wrapper .mobile-menu-group .mobile-menu-links a .link-info-level-2 {
	display: flex;
	flex-direction: column;
	gap: 2px;
}



#mobile-menu .wrapper .actions-container {
	padding: 24px 32px;
	background-color: var(--color-white);
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: center;
}


/* shared button styling */

#mobile-menu .wrapper .actions-container a {
	--clip-size: 12px;
	--button-color: var(--color-red);

	position: relative;
	isolation: isolate;

	padding: 16px 20px;
	width: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	font-size: 16px;
	font-weight: bold;

	background-color: var(--button-color);
	color: var(--color-white);

	text-decoration: none;

	clip-path: polygon(
		var(--clip-size) 0,
		100% 0,
		100% calc(100% - var(--clip-size)),
		calc(100% - var(--clip-size)) 100%,
		0 100%,
		0 var(--clip-size)
	);

	transition: .2s ease-in-out;
}


/* outer clipped border */

#mobile-menu .wrapper .actions-container a::before {
	content: "";
	position: absolute;
	inset: 0;

	background-color: var(--button-color);

	clip-path: polygon(
		var(--clip-size) 0,
		100% 0,
		100% calc(100% - var(--clip-size)),
		calc(100% - var(--clip-size)) 100%,
		0 100%,
		0 var(--clip-size)
	);

	opacity: 0;
	z-index: -2;

	transition: opacity .2s ease-in-out;
}


/* white inner shape */

#mobile-menu .wrapper .actions-container a::after {
	content: "";
	position: absolute;
	inset: 1px;

	background-color: var(--color-white);

	clip-path: polygon(
		calc(var(--clip-size) - 1px) 0,
		100% 0,
		100% calc(100% - (var(--clip-size) - 1px)),
		calc(100% - (var(--clip-size) - 1px)) 100%,
		0 100%,
		0 calc(var(--clip-size) - 1px)
	);

	opacity: 0;
	z-index: -1;

	transition: opacity .2s ease-in-out;
}


/* Call */

#mobile-menu .wrapper .actions-container a.call {
	--button-color: var(--color-red);
}


/* Contact */

#mobile-menu .wrapper .actions-container a.contact {
	--button-color: var(--color-matisse-500);
}


/* hover */

#mobile-menu .wrapper .actions-container a:hover {
	background-color: transparent;
	color: var(--color-matisse-950);
}

#mobile-menu .wrapper .actions-container a:hover::before,
#mobile-menu .wrapper .actions-container a:hover::after {
	opacity: 1;
}


/* responsive */

@media (max-width: 576px) {

	#mobile-menu .wrapper .actions-container a.contact {
		display: none;
	}

	#mobile-menu .wrapper .actions-container a.call {
		width: 100%;
	}

	#mobile-header .top-row {
		padding: 8px 12px;
	}

	#mobile-header .bottom-row {
		padding: 0 12px;
	}

	#mobile-menu .wrapper .menu-items-container .height-controller .inner-wrapper {
		padding: 0 12px;
	}

	#mobile-menu .wrapper .actions-container {
		padding: 24px 12px;
	}
}

/* end of mobile menu  */