/* Menu Styles */

/* 
Colours

White			#ffffff		rgba(255,255,255,1.0)
MM Light Blue	#2369d3		rgba(35,105,211,1.0)
MM Blue			#002038		rgba(0,32,56,1.0)
MM Dark Blue	#00172b		rgba(0,23,43,1.0)

https://www.youtube.com/watch?v=wlCPOwBr7no

*/



.toggle,
[id^=drop] {
  display: none;
}

nav {
  margin: 0;
  padding: 0;
  background-color: #002038;
  white-space: nowrap;
  position: relative;
  z-index: 1200;
}


.menu {
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0;
	margin-top: -4px;
	padding: 0;
	padding-left: 1.5rem;
	height: 55px;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	position: relative;
	z-index: 1250;
}

.menu-top-row {
    display: inline-block;
	width: 100%;
	overflow-x: hidden; 
	padding: 0;
	padding: 1rem 2.5rem 0.9rem 3rem;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	background-color: inherit;
  }

.menu-top-row2 {
    display: none;
  }

.menu-top-left {
  float: left;
  margin: 0;
  padding: 0;
}

.menu-top-left a {
  margin: 0;
  padding:0;
}

.menu-top-right {
  float: right;
  padding-top: 4px;
}

.menu-top-right ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: transparent;
}

.menu-top-right ul li {
  background-color: transparent;
}

.menu-top-right ul li a {
  display: inline;
  margin: 0;
  padding: 0;
  padding-left: 10px;
  background-color: transparent;
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1;
}

.menu-top-right ul li a i.fa.fa-caret-right {
  display: inline;
  position: relative;
  top: 2px;
  float: right;
  font-size: inherit;
  margin: 0;
  color: rgba(35,105,211,1.0);
  border: none;
  padding: 0;
  padding-right: 24px;
  padding-left: 12px;
}

.menu-top-right ul li a:hover i.fa.fa-caret-right {
  color: rgba(255,255,255,1.0);
}

label i.fa.fa-caret-right {
  display: inline;
  position: relative;
  top: 18px;
  float: right;
  font-size: inherit;
  color: rgba(35,105,211,1.0);
  border: none;
  padding: 0;
  padding-right: 16px;
}

a i.fa.fa-caret-down {
  display: inline;
  position: relative;
  top: 18px;
  float: right;
  font-size: inherit;
  color: rgba(35,105,211,1.0);
  border: none;
  padding: 0;
  padding-left: 10px;
}

a:hover i.fa.fa-caret-down, 
a:focus i.fa.fa-caret-down, 
a:active i.fa.fa-caret-down {
  color: rgba(255,255,255,1.0);
}

nav ul li a i.fa.fa-caret-right {
  display: inline;
  position: relative;
  top: 18px;
  float: right;
  font-size: inherit;
  color: rgba(35,105,211,1.0);
  border: none;
  padding: 0;
  padding-left: 10px;
}
nav ul li a:hover i.fa.fa-caret-right {
  color: rgba(255,255,255,1.0);
}

.logo1 {
	width: 180px;
	height: auto;
	display: flex;
}


#main-toggle {
  cursor: pointer;
  float: left;
  padding: 28px 20px;
  position: relative;
  user-select: none;
  z-index:1100;
}

.nav-icon {
  background: #fff;
  display: block;
  height: 2px;
  position: relative;
  width: 18px;
}

.nav-icon:before,
.nav-icon:after {
  background: #fff;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
}

.nav-icon:before {
  top: 5px;
}

.nav-icon:after {
  top: -5px;
}

nav:after {
  content: "";
  display: table;
  clear: both;
}

nav ul {
  float: left;
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
}


nav ul li {
  margin: 0px;
  padding: 0;
  display: inline-block;
  float: left;
  background-color: #002038;
}

nav a {
  display: block;
  margin: 0px;
  padding: 0 20px;
  color: #fff;
  font-size: 1.1rem;
  line-height: 55px;
  text-decoration: none;
}





nav a.neutral label {
  margin: 0;
  padding: 0;
}

nav a.neutral:hover label {
  cursor: pointer;
}






/*
nav ul li ul li:hover {
}

nav a:hover {
}
*/


nav ul ul {
  display: none;
  position: absolute;
  top: 55px;
}

nav ul li:hover>ul {
  display: inherit;
}

nav ul ul li {
  min-width: 235px;
  float: none;
  display: list-item;
  position: relative;
}

nav ul ul ul li {
  position: relative;
  min-width: 360px;
  top: -55px;
  left: 235px;
}



				@media all and (min-width : 901px) {

					ul.raise { border-top: 1px solid transparent; border-right: 1px solid rgba(255,255,255,0.25); border-bottom: 1px solid rgba(255,255,255,0.25); border-left: 1px solid rgba(255,255,255,0.25); }
					ul.raise li { position: relative; top: 0px; }
					ul.raise li + li { position: relative; top: -1px; }
					ul.raise li + li + li { position: relative; top: -2px; }
					ul.raise li + li + li + li { position: relative; top: -3px; }

					ul.raise1px li { border-top: 1px solid transparent; border-right: 1px solid rgba(255,255,255,0.25); border-bottom: 1px solid rgba(255,255,255,0.25); border-left: 1px solid rgba(255,255,255,0.25); }
					ul.raise1px li { position: relative; top: -56px; }
					ul.raise1px li + li { position: relative; top: -58px; }
					ul.raise1px li + li + li { position: relative; top: -60px; }

					ul.raise1pxb li:first-of-type { border-top: 1px solid rgba(255,255,255,0.25); }
					ul.raise1pxb li { border-top: 1px solid transparent; border-right: 1px solid rgba(255,255,255,0.25); border-bottom: 1px solid rgba(255,255,255,0.25); border-left: 1px solid rgba(255,255,255,0.25); }
					ul.raise1pxb li { position: relative; top: -56px; }
					ul.raise1pxb li + li { position: relative; top: -57px; }
					ul.raise1pxb li + li + li { position: relative; top: -58px; }
					ul.raise1pxb li + li + li + li { position: relative; top: -59px; } 
					ul.raise1pxb li + li + li + li + li { position: relative; top: -61px; } 

					ul.raise1pxc li:first-of-type { border-top: 1px solid rgba(255,255,255,0.25); }
					ul.raise1pxc li { border-top: 1px solid transparent; border-right: 1px solid rgba(255,255,255,0.25); border-bottom: 1px solid rgba(255,255,255,0.25); border-left: 1px solid rgba(255,255,255,0.25); }
					ul.raise1pxc li { position: relative; top: -56px; }
					ul.raise1pxc li + li { position: relative; top: -57px; }
					ul.raise1pxc li + li + li { position: relative; top: -59px; } 

					ul.raise1pxd li:first-of-type { border-top: 1px solid rgba(255,255,255,0.25); }
					ul.raise1pxd li { border-top: 1px solid transparent; border-right: 1px solid rgba(255,255,255,0.25); border-bottom: 1px solid rgba(255,255,255,0.25); border-left: 1px solid rgba(255,255,255,0.25); }
					ul.raise1pxd li { position: relative; top: -56px; }
					ul.raise1pxd li + li { position: relative; top: -57px; }
					ul.raise1pxd li + li + li { position: relative; top: -59px; } 
					ul.raise1pxb li + li + li + li + li { position: relative; top: -61px; } 

					}




li>a:after {
  content: '';
}

li>a:only-child:after {
  content: '';
}

li div.inner-menu-bottom-row {
  display: none;
}

li.mobile-only {
  display: none;
}

label.menu-title {
  padding: 0 20px;
  color: #fff;
  font-size: 1.1rem;
  line-height: 55px;
}

li.move-right {
	margin: -2px 0 auto auto;
	padding: auto 4rem auto 4rem;	
	line-height: initial;
}

li.move-right.btn {
	padding: auto 4rem auto 4rem;	
	background-color: #2369d3;
}

li.move-right.btn a {
	color: #fff;
}


.btn.btn-headerphone {
	display: inline-block;
	background: #2369d3;
	color: #ffffff;
	font-weight: 300;
	font-size: 1.1em;
	text-decoration: none;
	padding: 3px 65px 0px 55px;
	margin: 0;
	margin-top: -3px;;
	border: 1px solid transparent;
}

.btn.btn-headerphone:hover {
	background: #002038;
	color: #ffffff;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,0.4);
}

.btn.btn-headerphone:active {
	background: #ffffff;
	color: #002038;
	text-decoration: none;
	border: 1px solid transparent;
}

.btn.btn-headerphone i.fa {
	position: relative;
	font-size: 0.9em;
	top:2px;
	margin-right:14px;
}

.show-large {
	display: block;
}

.show-mobile {
	display: none;
}




/* Media Queries
--------------------------------------------- */

@media all and (max-width : 900px) {

  nav {
	display: flex;
	width: 100%;
	position: fixed;
	top: 0;
    margin: 0;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	z-index: 2000;
  }


.menu {
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 0;
	height: 55px;
	background-color: #00172b;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	position: fixed;
	top: 0px;
	height: auto;
	max-height: 100vh;
	z-index: 2250;
	overflow-y: scroll;
	-webkit-overflow-scrolling:touch; // mobile safari
}


/* 
.menu {
	display: flex;
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	z-index: 900;
}
 */



li label.menu-title {
  color: #fff;
  font-size: 1.5rem;
  line-height: 30px;
  font-weight: 400;
  padding-bottom:25px;
}

li label.menu-title i.fa {
  display: none;
}

  nav .menu-top-row {
    display: none;
  }

li div.inner-menu-bottom-row {
    display: block;
  }

  nav .menu-top-row2 {
    display: flex;
	float: left;
	width:100%;
	padding: 0;
	overflow: hidden;
	z-index: 1300;
  }

.firstofall {
    display: flex;
	float: left;
	margin: 0;
	z-index: 1400;
  }

.firstly-2 {
    display: flex;
	float: left;
	margin: 0px auto 0px 10px;
	z-index: 1500;
  }

.secondly-2 {
    display: flex;
	float: right;
	z-index: 1600;
  }

  nav ul {
    float:none;
  }

.tinylogo {
    width: 150px;
	height: auto;
	position: relative;
	top: 7px;
	left: -24px;
	z-index: 1700;
  }

#secondary-toggle i.fa.fa-times {
  cursor: pointer;
  padding: 0;
}

li.mobile-only {
  display: block;
  line-height:40px;
  padding: 10px 20px 0px 20px;
}

li.mobile-only:after {
    content: ""; /* This is necessary for the pseudo element to work. */ 
    display: block; /* This will put the pseudo element on its own line. */
    margin: 0 auto; /* This will center the border. */
    width: 100%; /* Change this to whatever width you want. */
    padding-top: 45px; /* This creates some space between the element and the border. */
    border-bottom: 1px solid rgba(255,255,255,0.3); /* This creates the border. Replace black with whatever color you want. */
}

.inner-menu-top-left, 
.inner-menu-top-right {
  display: flex;
  padding: 0;
  margin: 0;
}

.inner-menu-top-left {
  float: left;
  padding: 0;
  margin: 0;
  font-size: 1.1rem;
  color: rgba(255,255,255,0.75);
}

.inner-menu-top-right {
  float: right;
  padding: 0;
  margin: 0;
  font-size: 2.1rem;
}

.inner-menu-top-right label.toggle i.fa.fa-times {
  margin: auto 0 auto auto;;
}


  .toggle+a,
  .menu {
    display: none;
  }

  #secondary-toggle.toggle {
    display: block;
    background-color: inherit;
    padding: 10px;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.2rem;
    text-decoration: none;
    border: none;
  }

  .toggle {
    display: block;
    background-color: inherit;
    padding: 0px 20px;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 72px;
    text-decoration: none;
    border: 0px solid yellow;
  }

label.toggle.spaceit#plus-minus,
label.toggle.spaceit#plus-minus2 {
    padding: 0px 20px 8px 20px;
  }
label.toggle.spaceit#plus-minus:before,
label.toggle.spaceit#plus-minus2:before {
    content: ""; /* This is necessary for the pseudo element to work. */ 
    display: block; /* This will put the pseudo element on its own line. */
    margin: 0 auto; /* This will center the border. */
    width: 100%; /* Change this to whatever width you want. */
    margin-bottom: 10px; /* This creates some space between the element and the border. */
    border-bottom: 1px solid rgba(255,255,255,0.3); /* This creates the border. Replace black with whatever color you want. */
}

  [id^=drop]:checked+ul {
    display: block;
  }

  nav ul li {
    display: block;
    width: 100%;
  }

  nav ul ul .toggle,
  nav ul ul a {
    padding: 0 20px;
  }

  nav ul ul ul a {
    padding: 0 20px;
  }

  nav ul ul ul a {
    background-color: #00172b;
  }

  nav ul li ul li .toggle,
  nav ul ul a {
    background-color: #00172b;
  }

  nav ul ul {
    float: none;
    position: static;
    color: #ffffff;
  }

  nav ul ul li:hover>ul,
  nav ul li:hover>ul {
    display: none;
  }

  nav ul ul li {
    display: block;
  }

  nav ul ul ul li {
    position: static;

  }

ul.menu li.tall {
    padding-top:50px;
  }

.tall.show-mobile label {
    display: inline-block;
  }

/*

.toggle span.adding i.fa.fa-plus {
	display: inline-block;
	position: relative;
	top: 5px;
	float: right;
	font-size: 0.6em;
	margin-right:30px;
	color: rgba(255,255,255,0.95);
	border: 1px solid rgba(255,255,255,0.7);
	border-radius: 50%;
	padding: 10px;
}

.toggle span.subtracting i.fa.fa-minus {
	display: none;
}

.toggle:active span.subtracting i.fa.fa-minus {
	display: inline-block;
	position: relative;
	top: 5px;
	float: right;
	font-size: 0.6em;
	margin-right:30px;
	color: rgba(255,255,255,0.95);
	background-color: rgba(35,105,211,1.0);
	border: 1px solid rgba(35,105,211,1.0);
	border-radius: 50%;
	padding: 10px;
}

.toggle:active span.adding i.fa.fa-plus {
	display: none;
}

*/

nav i.fa.fa-caret-right {
	display: inline-block;
	position: relative;
	top: 8px;
	float: right;
	font-size: 1.1rem;
	margin-right: 0px;
	color: rgba(35,105,211,1.0);
	border: none;
	padding: 15px;
}

nav ul li a i.fa.fa-caret-right {
  display: inline-block;
  position: relative;
  top: 8px;
  float: right;
  font-size: 1.1rem;
  margin-right:15px;
  color: rgba(35,105,211,1.0);
  border: none;
}

label:hover i.fa.fa-caret-right,
label:active i.fa.fa-caret-right {
	color: rgba(255,255,255,0.95);
}

nav a.neutral label {
  margin: 0;
  padding-bottom: 1em;
}

nav a:hover i.fa.fa-caret-right, 
nav a:active i.fa.fa-caret-right {
	color: rgba(255,255,255,0.95);
}

nav i.fa.fa-plus {
	display: inline-block;
	position: relative;
	top: 14px;
	float: right;
	font-size: 0.6rem;
	margin-right: 5px;
	color: rgba(255,255,255,0.95);
	border: 1px solid rgba(255,255,255,0.7);
	border-radius: 90%;
	padding: 15px;
}

nav i.fa.fa-minus {
	display: none;
	position: relative;
	top: 14px;
	float: right;
	font-size: 0.6rem;
	margin-right: 5px;
	color: rgba(255,255,255,0.95);
	background-color: rgba(35,105,211,1.0);
	border: 1px solid rgba(35,105,211,1.0);
	border-radius: 90%;
	padding: 15px;
}



.btn.btn-mobile-top-phone {
	display: inline-block;
	background: rgba(35,105,211,1.0);
	color: #ffffff;
	font-weight: 400;
	font-size: 1.1em;
	line-height: 0.9;
	text-decoration: none;
	padding: 0;
	padding-top: 12px;
	padding-right: 15px;
	padding-left: 15px;
	margin: 0;
	margin-top:9px;
	margin-right:9px;
	margin-bottom:9px;
	border-radius: 4px;
	border: 1px solid transparent;
}

.btn.btn-mobile-top-phone:hover {
	background: #002038;
	color: #ffffff;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,0.6);
}

.btn.btn-mobile-top-phone:active {
	background: rgba(255,255,255,0.6);
	color: #ffffff;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,0.2);
}

.btn.btn-mobile-top-phone i.fa {
	position: relative;
	font-size: 0.8em;
	top:1px;
	margin-right:5px;
	color: rgba(255,255,255,0.5);
}



.plus-minus-style i.fa:first-child {
  display: none;
}

.plus-minus-style i.fa:last-child {
  display: inline-block;
}


.toggle#darkbg1, 
.toggle#darkbg2, 
.toggle#darkbg3,
.toggle#darkbg4 {
  margin-bottom: ;
  background-color: #00172b;
  padding-top: 10px;
}

.toggle#darkbg1:after, 
.toggle#darkbg2:after, 
.toggle#darkbg3:after,
.toggle#darkbg4:after {
    content: ""; /* This is necessary for the pseudo element to work. */ 
    display: block; /* This will put the pseudo element on its own line. */
    margin: 0 auto; /* This will center the border. */
    width: 100%; /* Change this to whatever width you want. */
    padding-top: 0px; /* This creates some space between the element and the border. */
    border-bottom: 1px solid rgba(255,255,255,0.3); /* This creates the border. Replace black with whatever color you want. */
}

.tall2 li, 
.tall3 li {
  background-color: #00172b;
}

li.tall2 label#plus-minus.toggle.spaceit.plus-minus-style, 
li.tall3 label#plus-minus2.toggle.spaceit.plus-minus-style {
  background-color: #00172b;
}


ul.raise1px { 
	padding-top: 20px;
}

ul.raise1pxb { 
	padding-top: 20px;
}

ul.raise1pxc { 
	padding-top: 20px;
}

ul.raise1pxd { 
	padding-top: 20px; 
	padding-bottom: 35px; 
}

li a.endlink { 
	padding-bottom: 50px; 
}

.inner-menu-bottom-row {
  display: block;
  background-color: rgba(35,105,211,1.0);
}

.inner-menu-bottom-row-inner {
  display: block;
  margin-right: 15px;
  margin-left: 15px;
  padding:10px;
  text-align: center;
}


.inner-menu-bottom-links {
  display: block;
}

.inner-menu-bottom-links a {
  display: inline;
  font-weight: 400;
  font-size: 1.1em;
}

.inner-menu-bottom-links i.fa.fa-caret-right {
	display: inline-block;
	position: relative;
	top: 2px;
	float: none;
	font-size: 0.95rem;
	margin: 0;
	color: rgba(255,255,255,0.95);
	border: none;
	padding: 0;
	padding-left: 8px;
}

.inner-menu-bottom-phone {
  display: block;
}



.btn.btn-mobile-bottom-phone {
	display: block;
	background: rgba(255,255,255,1.0);
	color: #101010;
	font-weight: 400;
	font-size: 1.05em;
	line-height: 1.1;
	text-decoration: none;
	text-align: left;
	padding: 0;
	padding-top: 19px;
	padding-right: 30px;
	padding-bottom: 16px;
	padding-left: 30px;
	margin: 0;
	margin-top:5px;
	margin-bottom:10px;
	border-radius: 5px;
	border: none;
}

.btn.btn-mobile-bottom-phone:hover {
	background: #002038;
	color: #ffffff;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,0.6);
}

.btn.btn-mobile-bottom-phone:active {
	background: rgba(255,255,255,0.6);
	color: #ffffff;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,0.2);
}

.btn.btn-mobile-bottom-phone i.fa {
	position: relative;
	float:right;
	font-size: 1.1em;
	top:12px;
	margin-right:7px;
	color: #2369d3;
}

.growfont {
	font-weight: 500;
	font-size: 1.40em;
}












.show-large {
	display: none;
}

.show-mobile {
	display: block;
}





}





/* Media Queries
--------------------------------------------- */



@media all and (max-width : 600px) {

nav a {
  display: block;
  margin: 0px;
  padding: 0 20px;
  color: #fff;
  font-size: 1.05rem;
  line-height: 36px;
  text-decoration: none;
}

.tinylogo {
    width: 136px;
	height: auto;
	position: relative;
	top: 16px;
	left: -30px;
  }

}


@media all and (max-width : 412px) {


nav a {
  display: block;
  margin: 0px;
  padding: 0 20px;
  color: #fff;
  font-size: 1rem;
  line-height: 33px;
  text-decoration: none;
}

nav a.special {
  font-size: 0.9rem;
}

.btn.btn-mobile-top-phone {
	display: inline-block;
	background: rgba(35,105,211,1.0);
	color: #ffffff;
	font-weight: 400;
	font-size: 0.95em;
	line-height: 0.6;
	text-decoration: none;
	padding: 0;
	padding-top: 14px;
	padding-right: 14px;
	padding-bottom: 0px;
	padding-left: 13px;
	margin: 0;
	margin-top:8px;
	margin-right:8px;
	margin-bottom:10px;
	border-radius: 4px;
	border: 1px solid transparent;
}

.btn.btn-mobile-top-phone i.fa {
	position: relative;
	font-size: 0.7em;
	top:0px;
	margin-right:5px;
	color: rgba(255,255,255,0.5);
}


nav ul ul ul li {
  min-width: 290px;
}



li label.menu-title {
  color: #fff;
  font-size: 1.5rem;
  line-height: 26px;
  font-weight: 400;
}


.tinylogo {
    width: 115px;
	height: auto;
	position: relative;
	top: 15px;
	left: -30px;
  }

.inner-menu-bottom-row-inner {
  display: block;
  margin-right: 12px;
  margin-left: 12px;
  padding:8px;
  text-align: center;
}

.inner-menu-bottom-links a {
  display: inline;
  font-weight: 400;
  font-size: 1em;
  padding: 0;
  padding-right: 8px;
  padding-left: 8px;
}

.inner-menu-bottom-links i.fa.fa-caret-right {
	display: inline-block;
	position: relative;
	top: 2px;
	float: none;
	font-size: 0.85rem;
	margin: 0;
	color: rgba(255,255,255,0.95);
	border: none;
	padding: 0;
	padding-left: 6px;
}



.btn.btn-mobile-bottom-phone {
	display: block;
	background: rgba(255,255,255,1.0);
	color: #101010;
	font-weight: 400;
	font-size: 1.05em;
	line-height: 1.1;
	text-decoration: none;
	text-align: left;
	padding: 0;
	padding-top: 18px;
	padding-right: 25px;
	padding-bottom: 15px;
	padding-left: 25px;
	margin: 0;
	margin-top:5px;
	margin-bottom:10px;
	border-radius: 4px;
	border: none;
}

.btn.btn-mobile-bottom-phone i.fa {
	position: relative;
	float:right;
	font-size: 0.95em;
	top:11px;
	margin-right:6px;
	color: #2369d3;
}

.growfont {
	font-weight: 500;
	font-size: 1.20em;
}










}
