#mobile-menu-switch-manager { display:none; }
#mobile-menu-container {
  background-color:#ffffff;
  display:none;
  margin:auto;
  overflow:auto;
  padding:0 0 120px;
  position:fixed;
  top:0;
  right:auto;
  bottom:0;
  left:0;
  z-index:998;
  width:calc(100% - 58px);
  max-width:450px;
  height:100vh;
  transition:transform 0.3s ease-out;
  transform:translate3d(-100%,0,0);
}
#logo-mobile {
  border-bottom:1px solid #ffffff;
  display:block;
  margin:0 0 30px 20px;
  padding:35px 0 0 0;
  height:90px;
}
#mobile-links {
  align-items:center;
  border-bottom:1px solid #e4e5e7;
  display:flex;
  flex:0 1 auto;
  justify-content:flex-start;
  padding:20px;
  position:relative;
  z-index:10;
}
#mobile-links .item {
  display:block;
  flex:0 0 auto;
  margin:0 15px;
  list-style:none;
  width:35px;
  height:35px;
}
#mobile-links .item:first-of-type { margin-left:0; }
#mobile-links .item:last-of-type { margin-right:0; }
#mobile-links .item .icon {
  fill:#173c86;
  padding:5px;
  width:100%;
  height:100%;
  transition:fill 300ms ease-in-out;
}
#mobile-links .item a:hover .icon { fill:#8bb043; }
#mobile-menu li > a {
  border:0;
  color:#173c86;
  display:block;
  font-weight:600;
  margin:0;
  padding:20px;
  text-transform:uppercase;
  transition:color 0.2s ease-out;
}
#mobile-menu li:not(.menu-item-has-children) > a { border-bottom:1px solid #d1d8e7; }
#mobile-menu > ul > li:not(.menu-item-has-children) > a { border-bottom:1px solid #173c86; }
#mobile-menu .menu-item-has-children li:last-of-type > a, #mobile-menu .sub-menu .menu-item-has-children:last-of-type > .sub-menu, #mobile-menu > ul > li:last-of-type > a { border-bottom:0; }
#mobile-menu .menu-item-has-children li:first-of-type > a { border-top:1px solid #d1d8e7; }
#mobile-menu > ul > li.menu-item-has-children > .sub-menu > li:first-of-type > a { border-top:1px solid #173c86; }
#mobile-menu .sub-menu li a { font-weight:300; }
#mobile-menu li a:hover, #mobile-menu li a:active {
  background:#173c86;
  color:#ffffff;
}
#mobile-menu li.current-menu-item > a { background:#e4e5e7; }
#mobile-menu .children a { padding:15px 15px 15px 40px; }
#mobile-menu .menu-item-has-children {
  overflow:hidden;
  position:relative;
}
#mobile-menu .menu-item-has-children .sub-menu { border-bottom:1px solid #173c86; }
#mobile-menu .menu-item-has-children .sub-menu a { padding-left:40px; }
#mobile-menu .menu-item-has-children > a { padding-left:40px; }
#mobile-menu .menu-item-has-children .menu-has-children-toggle {
  display:inline-block;
  position:absolute;
  top:0;
  left:0;
  width:40px;
  height:64px;
  z-index:20;
}
#mobile-menu .menu-item-has-children .menu-has-children-toggle .inner {
  display:block;
  width:100%;
  height:100%;
}
#mobile-menu .menu-item-has-children .menu-has-children-toggle .inner:before, #mobile-menu .menu-item-has-children .menu-has-children-toggle .inner:after {
  background-color:#173c86;
  content:"";
  display:block;
  position:absolute;
  top:50%;
  left:50%;
  transform-origin:center;
  width:10px;
  height:2px;
  transition:transform 200ms ease-in-out;
}
#mobile-menu .menu-item-has-children .menu-has-children-toggle .inner:before { transform:translateX(-50%) translateY(-50%); }
#mobile-menu .menu-item-has-children .menu-has-children-toggle .inner:after { transform:translateX(-50%) translateY(-50%) rotate(-90deg); }
#mobile-menu .menu-item-has-children .menu-has-children-toggle.open .inner:after { transform:translateX(-50%) translateY(-50%) rotate(0); }
#mobile-menu-overlay {
  background-color:rgba(23,60,134,0.8);
  display:none;
  pointer-events:none;
  opacity:0;
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:997;
  visibility:hidden;
  transition:opacity 0.3s ease-out, visibility 0.3s ease-out;
}
#mobile-menu-switcher {
  background-color:transparent;
  cursor:pointer;
  display:none;
  position:fixed;
  top:30px;
  right:30px;
  z-index:999;
  width:60px;
  height:60px;
}
#mobile-menu-switcher:before {
  background:#ffffff;
  border-radius:100%;
  content:"";
  display:block;
  position:absolute;
  top:0;
  left:0;
  width:60px;
  height:60px;
}
#mobile-menu-switcher .mobile-menu-switcher-inner, #mobile-menu-switcher .mobile-menu-switcher-inner:before, #mobile-menu-switcher .mobile-menu-switcher-inner:after {
  content:"";
  background-color:#173c86;
  border:0;
  border-radius:5px;
  display:block;
  margin:auto;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  width:30px;
  height:5px;
  transform-origin:center;
  transition:all 0.3s ease-out;
  transition-property:margin, width, background-color, transform;
}
#mobile-menu-switcher .mobile-menu-switcher-inner { z-index:2; }
#mobile-menu-switcher .mobile-menu-switcher-inner:before { transform:translate(0,-10px); }
#mobile-menu-switcher .mobile-menu-switcher-inner:after { transform:translate(0,10px); }
#mobile-menu-switch-manager:checked + #mobile-menu-switcher .mobile-menu-switcher-inner { background-color:transparent; }
#mobile-menu-switch-manager:checked ~ #mobile-menu-switcher .mobile-menu-switcher-inner:before { transform:rotate(45deg); }
#mobile-menu-switch-manager:checked ~ #mobile-menu-switcher .mobile-menu-switcher-inner:after { transform:rotate(-45deg); }
#mobile-menu-switch-manager:checked ~ #mobile-menu-container { transform:translate3d(0,0,0); }
#mobile-menu-switch-manager:checked ~ #mobile-menu-overlay {
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}
.mobile-menu-open {
  overflow:hidden;
  width:100vw;
  height:100vh;
}
@media only screen and (max-width: 1240px) {
  #mobile-menu-container, #mobile-menu-switcher, #mobile-menu-overlay { display:block; }
}
#mobile-menu-container .subscription {
  align-items:center;
  border-top:2px solid #d1d8e7;
  display:block;
  padding:60px 20px;
}
#mobile-menu-container .subscription .form-title {
  display:none;
  font-size:18px;
  margin-bottom:40px;
}
#mobile-menu-container .subscription .form {
  display:block;
  position:relative;
  z-index:5;
}
#mobile-menu-container .subscription .field-wrapper {
  background:#ffffff;
  color:#173c86;
  flex:1 1 auto;
  font-size:14px;
  font-weight:100;
}
#mobile-menu-container .subscription .field-wrapper .label {
  color:#173c86;
  font-size:14px;
  font-weight:100;
  padding:10px 20px;
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  width:100%;
  height:100%;
  transform-origin:0 0;
  transition:none 200ms ease-out;
  transition-property:color, transform;
}
#mobile-menu-container .subscription .field-wrapper .input {
  display:block;
  font-weight:700;
  outline:1px solid #d1d8e7;
  padding:10px 20px;
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
}
#mobile-menu-container .subscription .submit-button {
  background:#173c86;
  color:#ffffff;
  display:block;
  font-size:14px;
  font-weight:900;
  flex:0 0 auto;
  padding:10px 20px;
  position:relative;
  z-index:2;
  text-align:center;
  width:100%;
}
#mobile-menu-container .subscription .submit-button:after {
  background:#8bb043;
  content:"";
  margin:auto;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:-1;
  transform:scaleX(0);
  transform-origin:0 0;
  transition:none 600ms ease-in-out;
  transition-property:font-size, transform;
}
#mobile-menu-container .subscription .submit-button:hover:after { transform:scaleX(1); }
#mobile-menu-container .subscription.hide-label .label {
  color:#333333;
  transform:translateY(-42px);
}
#mobile-menu-container .subscription .error {
  color:#b24d4d;
  font-size:14px;
  font-weight:300;
  line-height:30px;
  position:absolute;
  bottom:-40px;
  left:20px;
  z-index:-1;
  transform-origin:0 0;
  transform:translateY(-40px);
  transition:transform 200ms ease-out;
}
#mobile-menu-container .subscription.has-error .input {
  outline:1px solid #b24d4d;
  outline-offset:-1px;
}
#mobile-menu-container .subscription.has-error .error { transform:translateY(0); }
