.m-menubtn {
  width: 35px;
  height: 26px;
  position: relative;
  display: inline-block;
  cursor: pointer;
  float: left; }
  .m-menubtn span {
    display: inline-block;
    width: 35px;
    height: 4px;
    background: #fff;
    position: absolute;
    left: 0;
    transition: 0.5s; }
    .m-menubtn span:first-child {
      top: 0; }
    .m-menubtn span:nth-child(2n) {
      top: 50%;
      transform: translateY(-50%); }
    .m-menubtn span:last-child {
      bottom: 0; }

.mobilenav-open .m-menubtn {
  width: 17px; }
  .mobilenav-open .m-menubtn:after {
    display: none; }
  .mobilenav-open .m-menubtn span {
    width: 23px;
    background: #fff; }
    .mobilenav-open .m-menubtn span:first-child {
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
      transform-origin: left center;
      top: 3px; }
    .mobilenav-open .m-menubtn span:nth-child(2n) {
      left: 50px;
      opacity: 0; }
    .mobilenav-open .m-menubtn span:last-child {
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg);
      transform-origin: left center;
      bottom: 3px; }

.mobile-logo {
  display: none;
  position: absolute;
  top: 10px;
  left: 0;
  text-align: center;
  width: 100%; }
  .mobile-logo img {
    height: 60px; }
  .mobile-logo .navbar-brand {
    margin: 0;
    padding: 0;
    margin-top: 15px; }

html.mobilenav-open {
  overflow: hidden !important; }

.mobilenav-open body {
  overflow: hidden !important;
  position: relative; }

.mobilebutton {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 70px;
  background: #003ea1;
  padding: 7px;
  right: 25px;
  height: 40px;
  width: auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  font-size: 28px;
  cursor: pointer; }

#mobilenav {
  display: none;
  -moz-transform: translate(105%);
  -ms-transform: translate(105%);
  -o-transform: translate(105%);
  -webkit-transform: translate(105%);
  transform: translate(105%);
  -moz-transition: transform 0.5s ease-in-out;
  -o-transition: transform 0.5s ease-in-out;
  -webkit-transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  box-shadow: 2px 0 6px 0 rgba(0, 0, 0, 0.6);
  padding-top: 90px;
  font-size: 18px;
  line-height: 1.3rem;
  color: #737373;
  width: 320px;
  height: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  background: -moz-linear-gradient(top, #fff 50px, #fff 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50px, #fff), color-stop(100%, #fff));
  background: -webkit-linear-gradient(top, #fff 50px, #fff 100%);
  background: -o-linear-gradient(top, #fff 50px, #fff 100%);
  background: -ms-linear-gradient(top, #fff 50px, #fff 100%);
  background: linear-gradient(to bottom, #fff 50px, #fff 100%);
  position: fixed;
  z-index: 9990;
  top: 0;
  right: 0;
  overflow-y: auto;
  overflow-x: hidden; }
  #mobilenav.no-overflow {
    overflow-y: hidden; }
  .mobilenav-open #mobilenav {
    -moz-transform: translate(0);
    -ms-transform: translate(0);
    -o-transform: translate(0);
    -webkit-transform: translate(0);
    transform: translate(0); }
  #mobilenav ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    #mobilenav ul.sub {
      display: none;
      font-size: 18px;
      background: #dadada;
      box-shadow: inset 0 -3px 3px -2px rgba(0, 0, 0, 0.3); }
  #mobilenav li {
    position: relative;
    z-index: 20; }
    #mobilenav li > .mobilenav-submenu i:before {
      -moz-transform: rotateZ(90deg);
      -ms-transform: rotateZ(90deg);
      -o-transform: rotateZ(90deg);
      -webkit-transform: rotateZ(90deg);
      transform: rotateZ(90deg);
      -moz-transition: transform 0.3s ease-in-out;
      -o-transition: transform 0.3s ease-in-out;
      -webkit-transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out; }
    #mobilenav li.open > .mobilenav-submenu i:before {
      -moz-transform: rotateZ(90deg) rotateY(180deg);
      -ms-transform: rotateZ(90deg) rotateY(180deg);
      -o-transform: rotateZ(90deg) rotateY(180deg);
      -webkit-transform: rotateZ(90deg) rotateY(180deg);
      transform: rotateZ(90deg) rotateY(180deg); }

.mobilenav-header {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 20px;
  border-bottom: 1px solid #6b88da;
  overflow: hidden;
  font-weight: 600;
  margin-bottom: 15px;
  cursor: pointer; }
  .mobilenav-header .mobilenav-header-link {
    float: left;
    display: block;
    padding: 11px 0;
    color: #737373;
    text-decoration: none;
    width: 67%;
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis; }
  .mobilenav-header .mobilenav-back {
    float: right;
    padding: 11px 0;
    max-width: 33%; }

.mobilenav-submenu {
  padding: 2px 16px;
  font-size: 30px;
  position: absolute;
  z-index: 30;
  top: 0;
  right: 0;
  cursor: pointer;
  -moz-transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  -o-transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  -webkit-transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  background: #6b88da;
  color: #fff; }
  .mobilenav-submenu:hover {
    background: #6b88da; }
  .mobilenav-submenu .icon-angle-right:before {
    display: inline-block; }

.mobilenav-ul {
  width: 100%;
  z-index: 100; }
  .mobilenav-ul.sub {
    display: none; }

.mobilenav-li {
  margin-bottom: 4px;
  -moz-transition: margin 0.3s ease-in-out, padding 0.3s ease-in-out;
  -o-transition: margin 0.3s ease-in-out, padding 0.3s ease-in-out;
  -webkit-transition: margin 0.3s ease-in-out, padding 0.3s ease-in-out;
  transition: margin 0.3s ease-in-out, padding 0.3s ease-in-out; }
  .mobilenav-li.open,
  .mobilenav-li.open > ul > li:last-child {
    margin-bottom: 0; }
  .mobilenav-li.open > .mobilenav-a {
    color: #fff;
    background: #6b88da; }
  .mobilenav-li.selected.open > .mobilenav-a {
    background: #6b88da;
    color: #fff; }

.seperator {
  margin: 10px 0;
  background-color: #6b88da;
  height: 1px; }

.mobi-search,
.mobilenav-a {
  padding: 7px 45px 5px 20px;
  display: block;
  color: #737373;
  text-decoration: none;
  text-transform: uppercase;
  background: transparent;
  -moz-transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  -o-transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  -webkit-transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out; }
  .mobi-search:hover,
  .selected > .mobi-search,
  .mobilenav-a:hover,
  .selected > .mobilenav-a {
    text-decoration: none;
    background: #6b88da !important;
    color: #FFF !important; }
  .selected > .mobi-search,
  .selected > .mobilenav-a {
    background: #6b88da !important; }
  .mobi-search:hover + .mobilenav-submenu,
  .mobilenav-a:hover + .mobilenav-submenu {
    color: #FFF; }

.mobi-search i {
  margin-left: 12px; }

/*Custom*/
.mobilenav-p {
  padding: 7px 45px 7px 20px;
  display: inline-block;
  color: #737373;
  text-decoration: none;
  text-transform: uppercase; }
  .selected > .mobilenav-p {
    text-decoration: none;
    background: #6b88da !important;
    color: #FFF !important; }
  .selected > .mobilenav-p {
    background: #6b88da !important; }

.mobilebutton.small {
  top: 8px; }

#mobilenav li.extra .mobilenav-a {
  padding: 4px 15px 4px 20px; }

.mobilenav-li.extra.first {
  margin-top: 30px; }

.mobilenav-li.extra {
  font-size: 16px;
  margin-bottom: 0; }

.mobilenav-li.extra.social a + a {
  margin-left: 15px; }

@media only screen and (max-width: 920px) {
  #mobilenav,
  .mobile-logo,
  .mobilebutton,
  div#head a.mobile {
    display: block; }
  div#head a.desktop,
  div#navi ul {
    display: none !important; }
  .mobilenav-open .mobilebutton {
    right: 250px;
    background: #6b88da;
    top: 27px;
    padding: 13px 17px !important;
    height: 50px;
    width: 50px; }
  .mobilenav-open body:before {
    content: '';
    background: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 30; }
  .mobilebutton {
    transition: all 0.4s ease; }
  header .social-head {
    right: 85px !important; }
  header .navbar > .container {
    max-width: 100%;
    display: block; } }