/* @group @mobile toggle */

.a-nav-toggle:checked ~ main,
.a-nav-toggle:checked ~ .o-mutual-header,
.a-nav-toggle:checked ~ .o-root-header,
.a-nav-toggle:checked ~ .o-mutual-footer {
transform: translateX(-20rem);
}

.o-mutual-nav {
transform: translateX(calc(100vw + 21rem));
}

.a-nav-toggle:checked ~ .o-mutual-nav {
transform: translateX(calc(100vw - 20rem));
}

/* @end @mobile toggle */

/* @group @mobile toggle */

.o-mutual-header,
.o-root-header,
.o-mutual-nav,
main,
.o-mutual-footer {
transition: var(--link-transition);
}

/* @end @mobile toggle */

/* --------------------------------------------------------*/

/* @group @variables */

.m-mutual-header-body {
--mutual-header-body-columns: var(--x-padding-left) auto .75rem auto .75rem 9rem .75rem 3.75rem 0;
--mutual-header-body-rows:.375rem 1fr .375rem;
}

@media all and (min-width: 48em) {

.m-mutual-header-body {
--mutual-header-body-columns: var(--x-padding-left) auto 2.25rem auto .75rem 9rem .75rem 3.75rem var(--x-padding-right);
}

}

/* @end @variables */

/* @group @o-mutual-header */

.m-mutual-header-body {
display: grid;
grid-template-columns: var(--mutual-header-body-columns);
grid-template-rows: var(--mutual-header-body-rows);
}

.a-mutual-header-logo {
grid-column: 2;
grid-row: 2;
}

.a-header-nav-contact {
grid-column: 6;
grid-row: 1 / 4;
}

.a-nav-toggle-link {
grid-column: 8 / 10;
grid-row: 1 / 4;
}

@media all and (min-width: 48em) {

.m-mutual-header-nav {
grid-column: 4;
grid-row: 1 / 4;
}

}

@media all and (min-width: 62em) {

.a-nav-toggle-link {
grid-column: 8;
}

}

/* @end @o-mutual-header */

/* --------------------------------------------------------*/

/* @group @variables */

.o-mutual-header {
--mutual-header-position: relative;
}

.o-root-header {
--mutual-header-position: absolute;
}

html.is-fit-sticky .o-mutual-header,
html.is-fit-sticky .o-root-header {
--mutual-header-position: fixed;
}

:root {
--mutual-header-body-position: absolute;
}

html.is-fit-sticky {
--mutual-header-body-position: fixed;
}

/* @end @variables */

/* @group @o-mutual-header */

.o-mutual-header,
.o-root-header {
position: var(--mutual-header-position);
z-index: 12;
}

.m-mutual-header-body {
position: var(--mutual-header-body-position);
}

.o-mutual-header,
.o-root-header,
.m-mutual-header-body {
right: 0;
left: 0;
height: 6rem;
}

html.is-fit-sticky .o-mutual-header,
html.is-fit-sticky .o-root-header,
html.is-fit-sticky .m-mutual-header-body {
height: 3.75rem;
}

html.is-fit-sticky .o-mutual-header,
html.is-fit-sticky .o-root-header {
transform: translateY(-15rem);
}

html.is-headroom-pinned .o-mutual-header,
html.is-headroom-pinned .o-root-header {
transform: translateY(0);
}

/* @end @o-mutual-header */

/* --------------------------------------------------------*/

/* @group @variables */

html.is-fit-sticky {
--mutual-header-body-box-shadow: 0 1px 0 var(--color-gainsboro), .125rem .125rem .25rem var(--color-gainsboro);
}

.o-mutual-header {
--mutual-header-background-color: hsla(0, 0%, 100%, 1);
}

html:not(.is-fit-sticky) .o-root-header {
--mutual-header-background-color: transparent;
--mutual-header-text-color: var(--color-white);
}

html.is-fit-sticky .o-root-header {
--mutual-header-background-color: hsla(0, 0%, 100%, 1);
}

/* @end @variables */

/* @group @o-mutual-header */

.m-mutual-header-body {
position: var(--mutual-header-body-position);
background-color: var(--mutual-header-background-color);
box-shadow: var(--mutual-header-body-box-shadow);
color: var(--mutual-header-text-color);
/*-webkit-backdrop-filter: blur(.375rem);
backdrop-filter: blur(.375rem);*/
}

html.is-fit-sticky .m-mutual-header-body {
height: 3.75rem;
}

/* @end @o-mutual-header */

/* --------------------------------------------------------*/

/* @group @a-mutual-header-logo */

.a-mutual-header-logo {
position: relative;
z-index: 3;
display: flex;
align-items: center;
}

.a-mutual-header-logo-img {
width: auto;
height: 2.25rem;
}

html.is-fit-sticky .a-mutual-header-logo-img {
height: 1.5rem;
}

html:not(.is-fit-sticky) .o-root-header .a-mutual-header-logo-img {
filter: brightness(0) invert(1);
}

@media all and (min-width: 25em) {

.a-mutual-header-logo-img {
height: 2.625rem;
}

html.is-fit-sticky .a-mutual-header-logo-img {
height: 2.25rem;
}

}

/* @end @a-mutual-header-logo */

/* --------------------------------------------------------*/

/* @group @variables */

.a-nav-toggle-link:hover,
.a-nav-toggle-link:focus {
--toggle-link-color: var(--color-black);
}

html:not(.is-fit-sticky) .o-root-header .a-nav-toggle-link:hover,
html:not(.is-fit-sticky) .o-root-header .a-nav-toggle-link:focus {
--toggle-link-color: var(--color-white-action);
}

.a-nav-toggle:checked ~ .o-mutual-header .a-nav-toggle-link {
--toggle-link-background-color: var(--color-brand-action);
--toggle-link-color: var(--color-white);
}

/* @end @variables */

/* @group @a-nav-toggle-link */

.a-nav-toggle-link {
position: relative;
display: grid;
grid-template-columns: 1fr auto 1.125rem auto 1fr;
grid-template-rows: 1fr 1.125rem .375rem auto 1fr;
font-size: .625rem;
line-height: 1.2;
text-transform: uppercase;
text-align: center;
cursor: pointer;
transition: var(--link-transition);
}

.a-nav-toggle-link,
.a-nav-toggle-link:hover,
.a-nav-toggle-link:focus {
background-color: var(--toggle-link-background-color);
color: var(--toggle-link-color);
}

.a-icon-nav-bar {
grid-column: 3;
grid-row: 2;
}

.a-nav-bar-label {
grid-column: 2 / 5;
grid-row: 4;
transform: scale(.8);
}

/* @end @a-nav-toggle-link */

/* --------------------------------------------------------*/

/* @group @variables */

:root {
--icon-nav-before-margin: -.5rem;
--icon-nav-after-margin: .5rem;
--icon-nav-opacity: 1;
}

.a-nav-toggle:checked ~ .o-mutual-header,
.a-nav-toggle:checked ~ .o-root-header {
--icon-nav-before-margin: 0;
--icon-nav-after-margin: 0;
--icon-nav-opacity: 0;
--icon-nav-before-transform: rotate(45deg);
--icon-nav-after-transform: rotate(-45deg);
}

/* @end @variables */

/* @group @a-icon-nav-bar */

.a-icon-nav-bar {
position: relative;
display: flex;
justify-content: center;
width: 1.125rem;
height: 1.125rem;
margin: auto;
}

.a-icon-nav-bar:before,
.a-icon-nav-bar:after,
.a-icon-nav-bar > span {
position: absolute;
top: 50%;
display: block;
width: inherit;
height: 2px;
background: currentColor;
}

.a-icon-nav-bar:before,
.a-icon-nav-bar:after {
content: '';
left: 0;
}

.a-icon-nav-bar > span {
opacity: var(--icon-nav-opacity);
}

.a-icon-nav-bar:before {
margin-top: var(--icon-nav-before-margin);
transform: var(--icon-nav-before-transform);
}

.a-icon-nav-bar:after {
margin-top: var(--icon-nav-after-margin);
transform: var(--icon-nav-after-transform);
}

/* @end @a-icon-nav-bar */

/* --------------------------------------------------------*/

/* @group @variables */

:root {
--nav-toggle-close-z-index: -11;
--nav-toggle-close-visibility: hidden;
--nav-toggle-close-pointer-events: none;
}

.a-nav-toggle:checked ~ .a-nav-toggle-close,
.a-subnav-toggle:checked ~ .a-nav-toggle-subnav-close {
--nav-toggle-close-z-index: 10;
--nav-toggle-close-visibility: visible;
--nav-toggle-close-pointer-events: auto;
--nav-toggle-close-background-color: hsla(220, 20%, 20%, .5);
}

/* @end @variables */

/* @group @a-nav-toggle-close */

.a-nav-toggle-close,
.a-nav-toggle-subnav-close {
position: fixed;
visibility: var(--nav-toggle-close-visibility);
z-index: var(--nav-toggle-close-z-index);
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: var(--nav-toggle-close-background-color);
pointer-events: var(--nav-toggle-close-pointer-events);
-webkit-backdrop-filter: blur(.125rem);
backdrop-filter: blur(.125rem);
}

/* @end @a-nav-toggle-close */

/* --------------------------------------------------------*/


/* --------------------------------------------------------*/

/* @group @a-header-nav-contact */

.a-header-nav-contact {
position: relative;
display: grid;
align-items: center;
}

/* @end @m-mutual-header-nav */

/* --------------------------------------------------------*/

/* @group @o-mutual-nav */

.o-mutual-nav {
box-sizing: border-box;
position: fixed;
overflow: hidden;
overflow-y: auto;
z-index: 13;
top: 0;
right: 0;
left: 0;
bottom: 0;
width: 20rem;
min-height: 100vh;
padding: .75rem .75rem 3rem;
background-color: var(--color-white);
box-shadow: inset 1px 0 0 var(--color-gainsboro);
text-transform: uppercase;
-ms-overflow-style: -ms-autohiding-scrollbar;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}

/* @end @o-mutual-nav */

/* --------------------------------------------------------*/

/* @group @variables */

.m-mutual-header-nav-list {
color: var(--color-text);
}

@media all and (min-width: 48em) {

.m-mutual-header-nav-list {
--grid-columns: repeat(4, 1fr);
--grid-gap: 3px;
--grid-place-items: var(--place-items-stretch-primary);
}

.o-root-header {
--mutual-header-nav-list-separater-color: hsla(0, 0%, 100%, .5);
}

.o-mutual-header,
html.is-fit-sticky .o-root-header {
--mutual-header-nav-list-separater-color: var(--color-gainsboro);
}

}

/* @end @variables */

/* @group @m-mutual-header-nav-list */

@media all and (max-width: 47.9375em) {

.m-mutual-header-nav-list>li {
padding-bottom: 1px;
box-shadow: inset 0 -1px 0 var(--color-gainsboro);
}

}

@media all and (min-width: 48em) {

.m-mutual-header-nav-list {
display: grid;
grid-template-columns: var(--grid-columns);
grid-template-rows: 1fr;
place-items: var(--grid-place-items);
gap: var(--grid-gap);
}

.m-mutual-header-nav-list,
[class*="a-header-link-primary"] {
height: 6rem;
}

.is-fit-sticky .m-mutual-header-nav-list,
.is-fit-sticky [class*="a-header-link-primary"] {
height: 3.75rem;
}

.m-mutual-header-nav-list>li {
position: relative;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr;
}


[class*="a-header-link-primary"],
[class*="a-header-close"] {
grid-column: 1;
grid-row: 1;
}

.m-mutual-header-nav-list>li:after {
content: '';
position: absolute;
top: 50%;
left: -2px;
width: 1px;
height: 1.125rem;
background-color: var(--mutual-header-nav-list-separater-color);
transform: translateY(-50%);
}

}

/* @end @m-mutual-header-nav-list */

/* --------------------------------------------------------*/

/* @group @variables */

[class*="mutual-header-nav-child-list"] {
--grid-columns: repeat(1, 1fr);
--grid-gap: 3px;
--text-block-margin-bottom: 0;
}

@media all and (min-width: 48em) {

[class*="mutual-header-nav-child-list"] {
--grid-gap: 1px;
--grid-place-items: var(--place-items-stretch-primary);
}

}

/* @end @variables */

/* @group @m-mutual-header-nav-child-list */

[class*="mutual-header-nav-child-list"] {
display: grid;
grid-template-columns: var(--grid-columns);
place-items: var(--grid-place-items);
gap: var(--grid-gap);
}

@media all and (min-width: 48em) {

.a-nav-toggle:checked ~ .a-subnav-toggle:checked .o-mutual-header [class*="mutual-header-nav-child-list"],
.a-nav-toggle:checked ~ .a-subnav-toggle:checked .o-root-header [class*="mutual-header-nav-child-list"],
[class*="mutual-header-nav-child-list"] {
position: absolute;
overflow: hidden;
visibility: hidden;
opacity: 0;
top: calc(100% + .375rem);
left: 1px;
min-width: 12rem;
min-height: 0;
padding: .75rem 0;
background-color: var(--color-white);
border-radius: .25rem;
box-shadow: 0 0 .5rem var(--color-gainsboro);
white-space: nowrap;
transition: var(--link-transition);
}

li:hover [class*="mutual-header-nav-child-list"],
.a-nav-toggle-event:checked ~ .o-mutual-header .m-mutual-header-nav-child-list-event,
.a-nav-toggle-event:checked ~ .o-root-header .m-mutual-header-nav-child-list-event,
.a-nav-toggle-news:checked ~ .o-mutual-header .m-mutual-header-nav-child-list-news,
.a-nav-toggle-news:checked ~ .o-root-header .m-mutual-header-nav-child-list-news,
.a-nav-toggle-services:checked ~ .o-mutual-header .m-mutual-header-nav-child-list-services,
.a-nav-toggle-services:checked ~ .o-root-header .m-mutual-header-nav-child-list-services {
visibility: visible;
opacity: 1;
min-height: 1.5rem;
}

[class*="mutual-header-nav-child-list"]>li {
box-shadow: 0 1px 0 0 var(--color-gainsboro);
}

}

/* @end @m-mutual-header-nav-child-list */

/* --------------------------------------------------------*/

/* @group @variables */

:root {
--btn-text-font-weight: 500;
}

[class*="a-header-link-primary"],
[class*="a-header-link-primary"]:hover,
[class*="a-header-link-primary"]:focus,
[class*="a-header-link-primary"]:active {
--header-primary-btn-text-color: var(--color-text);
}

@media all and (max-width: 47.9375em) {

[class*="a-header-link-primary"],
[class*="a-header-link-primary"]:hover,
[class*="a-header-link-primary"]:focus,
[class*="a-header-link-primary"]:active {
--btn-padding: 1.125rem;
}

[class*="a-header-link-primary"]:hover,
[class*="a-header-link-primary"]:focus,
[class*="a-header-link-primary"]:active {
--header-primary-btn-text-color: var(--color-text);
}

[class*="a-header-link-primary"].is-active {
--header-primary-btn-text-color: var(--color-brand);
}

[class*="a-header-link-primary"].is-active:hover,
.m-mutual-header-nav-list:hover>li:hover [class*="a-header-link-primary"]:not(:hover),
[class*="a-header-link-primary"].is-active:focus,
[class*="a-header-link-primary"].is-active:active {
--header-primary-btn-text-color: var(--color-text);
}

.m-mutual-header-nav-list:hover>li:not(:hover) [class*="a-header-link-primary"] {
--header-primary-btn-text-color: var(--color-silver);
}

html:not(.is-fit-sticky) .o-root-header [class*="a-header-link-primary"] {
--header-primary-btn-text-color: var(--color-white);
}

[class*="a-header-link-primary"]:active {
--header-primary-btn-background-color: var(--color-brand-active-secondary);
--header-primary-btn-text-color: var(--color-brand-active);
}

}

@media all and (min-width: 48em) {

[class*="a-header-link-primary"] {
--btn-place-items: var(--place-items-center-primary);
--header-primary-btn-text-color: var(--color-text);
--btn-text-font-weight: 400;
}

[class*="a-header-link-primary"]:hover,
[class*="a-header-link-primary"]:focus,
[class*="a-header-link-primary"]:active {
--btn-place-items: var(--place-items-center-primary);
--header-primary-btn-text-color: var(--color-text);
}

[class*="a-header-link-primary"].is-active {
--header-primary-btn-text-color: var(--color-brand);
}

[class*="a-header-link-primary"].is-active:hover,
.m-mutual-header-nav-list:hover>li:hover [class*="a-header-link-primary"]:not(:hover),
[class*="a-header-link-primary"].is-active:focus,
[class*="a-header-link-primary"].is-active:active {
--header-primary-btn-text-color: var(--color-text);
}

html:not(.is-fit-sticky) .o-root-header [class*="a-header-link-primary"] {
--header-primary-btn-text-color: var(--color-white);
}

.m-mutual-header-nav-list:hover>li:hover [class*="a-header-link-primary"] {
--header-primary-btn-text-color: var(--color-brand);
}

.m-mutual-header-nav-list:hover>li:not(:hover) [class*="a-header-link-primary"] {
--header-primary-btn-text-color: var(--color-darkgray);
}

html:not(.is-fit-sticky) .o-root-header .m-mutual-header-nav-list:hover>li:hover [class*="a-header-link-primary"] {
--header-primary-btn-text-color: var(--color-white);
}

[class*="a-header-link-primary"]:active {
--header-primary-btn-background-color: var(--color-brand-active-secondary);
--header-primary-btn-text-color: var(--color-brand-active);
}

}

/* @end @variables */

/* @group @a-header-link-primary */

[class*="a-header-link-primary"],
[class*="a-header-close"] {
box-sizing: border-box;
position: relative;
display: grid;
place-items: var(--btn-place-items);
padding: var(--btn-padding);
}

[class*="a-header-link-primary"],
[class*="a-header-link-primary"]:hover,
[class*="a-header-link-primary"]:focus,
[class*="a-header-link-primary"]:active,
[class*="a-header-close"],
[class*="a-header-close"]:hover,
[class*="a-header-close"]:focus,
[class*="a-header-close"]:active { 
text-align: var(--btn-text-position);
font-weight: var(--btn-text-font-weight);
cursor: pointer;
}

[class*="a-header-link-primary"],
[class*="a-header-close"] { 
background-color: var(--header-primary-btn-background-color);
color: var(--header-primary-btn-text-color);
}

[class*="a-header-link-primary"]:hover,
[class*="a-header-link-primary"]:focus,
[class*="a-header-close"]:hover,
[class*="a-header-close"]:focus { 
background-color: var(--header-primary-btn-background-color);
color: var(--header-primary-btn-text-color);
}

[class*="a-header-link-primary"]:active,
[class*="a-header-close"]:active { 
background-color: var(--header-primary-btn-background-color);
color: var(--header-primary-btn-text-color);
}

[class*="a-header-close"] {
position: relative;
z-index: 2;
visibility: hidden;
}

.touch .a-nav-toggle-event:checked ~ .o-mutual-header .a-header-close-event,
.touch .a-nav-toggle-event:checked ~ .o-root-header .a-header-close-event,
.touch .a-nav-toggle-news:checked ~ .o-mutual-header .a-header-close-pnews,
.touch .a-nav-toggle-news:checked ~ .o-root-header .a-header-close-news,
.touch .a-nav-toggle-services:checked ~ .o-mutual-header .a-header-close-services,
.touch .a-nav-toggle-services:checked ~ .o-root-header .a-header-close-services {
visibility: visible;
opacity: 1;
}

/* @end @a-header-link-primary */

/* --------------------------------------------------------*/

/* @group @variables */

[class*="a-nav-link-primary"],
[class*="a-nav-link-primary"]:hover,
[class*="a-nav-link-primary"]:focus,
[class*="a-nav-link-primary"]:active {
--btn-padding: .75rem;
--btn-background-color: var(--color-white);
--btn-text-color: var(--color-text);
--btn-text-position: left;
}

[class*="a-nav-link-primary"].is-active {
--btn-text-color: var(--color-brand);
}

[class*="a-nav-link-primary"]:hover,
[class*="a-nav-link-primary"]:focus {
--btn-background-color: var(--color-brand-background);
--btn-text-color: var(--color-brand-action);
}

[class*="a-nav-link-primary"]:active {
--btn-background-color: var(--color-brand-background-active);
--btn-text-color: var(--color-brand-active);
}

@media all and (min-width: 48em) {

[class*="a-header-link-secondary"],
[class*="a-header-link-secondary"]:hover,
[class*="a-header-link-secondary"]:focus,
[class*="a-header-link-secondary"]:active {
--btn-padding: 1.125rem 1.5rem;
--btn-background-color: var(--color-white);
--btn-text-color: var(--color-text);
--btn-text-position: left;
}

[class*="a-header-link-secondary"].is-active {
--btn-text-color: var(--color-brand);
}

[class*="a-header-link-secondary"]:hover,
[class*="a-header-link-secondary"]:focus {
--btn-background-color: var(--color-brand-background);
--btn-text-color: var(--color-brand-action);
}

[class*="a-header-link-secondary"]:active {
--btn-background-color: var(--color-brand-background-active);
--btn-text-color: var(--color-brand-active);
}

}

/* @end @variables */

/* @group @a-header-link-secondary */

[class*="a-header-link-secondary"],
[class*="a-nav-link-primary"] {
--btn-padding: .75rem .5rem;
box-sizing: border-box;
position: relative;
display: grid;
place-items: var(--btn-place-items);
padding: var(--btn-padding);
}

[class*="a-header-link-secondary"],
[class*="a-header-link-secondary"]:hover,
[class*="a-header-link-secondary"]:focus,
[class*="a-header-link-secondary"]:active,
[class*="a-nav-link-primary"],
[class*="a-nav-link-primary"]:hover,
[class*="a-nav-link-primary"]:focus,
[class*="a-nav-link-primary"]:active { 
background-color: var(--btn-background-color);
text-align: var(--btn-text-position);
color: var(--btn-text-color);
}

/* @end @a-header-link-secondary */

/* @group @a-nav-link-label */

.m-mutual-nav-list>li {
padding-top: .375rem;
padding-bottom: .375rem;
box-shadow: inset 0 1px 0 var(--color-gainsboro);
}

/* @end @a-nav-link-label */

/* @group @a-nav-link-label */

.a-nav-link-label {
display: flex;
align-items: center;
padding: .5625rem .75rem;
font-weight: 500;
}

/* @end @a-nav-link-label */