header {
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 700;
	margin-top: 2em;
	position: relative;
}

#logo {
	display: block;
}

#logo img {
	display: block;
	width: 100%;
}

#besideLogo {
	background: rgba(255, 255, 255, 0.5);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	padding: 0 10px;
}

#phoneNumber {
	font-weight: 600;
	font-size: 2em;
	color: #fff;
	padding: 0.143em;
	display: inline-block;
	vertical-align: middle;
	
	flex-basis: 100%;
}

#alternateNumber {
	display: inline-block;
	padding: 0.143em;
	color: #1C3664;
	font-size: 1.5em;
	margin-right: 20px;
}

#mainMenu {
	font-family: 'Source Sans Pro', sans-serif;
	
	background: rgba(255, 255, 255, 0.75);
	padding: 1em;
	
	position: fixed;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 10;
	max-width: 100vw;
	
	text-align: left;
	font-size: 2em;
	
	transition: transform 0.3s ease-in-out;
	transform: translateX(105%);
	overflow: auto;
	
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.showMenu #mainMenu {
	transform: translateX(0%);
}

#mainMenu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#mainMenu a {
	color: #1C3664;
	text-transform: uppercase;
	text-decoration: none;
	padding: 4px 0.6em;
	display: block;
	font-weight: 900;
}

#mainMenu a:hover {
	text-decoration: underline;
}

#mainMenu li.current-menu-item > a {
	color: #66CC33;
	background: #1C3664
}

#mainMenu li.current-menu-item > a:hover
{
	text-decoration: none;
}

#fullPageImage {
	position: fixed;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-height: 100vh;
	min-width: 100vw;
	height: auto;
	width: auto;
	max-width: none;
}

#toggleMenu {
	display: inline-block;
	width: 50px;
	height: 44px;
	position: relative;
	padding: 10px;
	vertical-align: middle;
}

#toggleMenu::before,
#toggleMenu::after {
	content: ' ';
	height: calc(100% - 8px);
	display: block;
	border-color: #1C3664;
	border-width: 4px 0;
	border-style: solid;
}

#toggleMenu::after {
	position: absolute;
	top: calc(50% - 2px);
	border-width: 2px 0;
	height: 0;
	width: calc(100% - 20px);
}

#mainMenu #closeMenu {
	position: absolute;
	top: 0;
	right: 5px;
	font-size: 1.5em;
	line-height: 1;
	padding: 0;
}

#closeMenu::before {
	content: '\00d7';
}

@media all and (min-width: 480px)
{
	#phoneNumber {
		font-size: 2.913em; 
	}
}

@media all and (min-width: 590px)
{
	#phoneNumber {
		flex-basis: auto;
	}
	
	#alternateNumber {
		margin-left: auto;
	}
}

@media all and (min-width: 810px)
{
	header::before,
	header::after {
		content: ' ';
		background: rgba(255, 255, 255, 0.5);
		position: absolute;
		left: -1px;
		top: 0;
		bottom: 0;
		width: 21px;
	}
	
	header::after {
		left: auto;
		right: -1px;
	}
	
	#logo {
		display: inline-block;
		vertical-align: top;
	}
	
	#logo img {
		width: auto;
	}
	
	#besideLogo {
		display: inline-block;
		width: calc(100% - 428px);
		vertical-align: top;
		text-align: right;
		min-height: 103px;
	}
	
	body:not(.home) #phoneNumber {
		display: block;
		width: 320px;
		margin-left: auto;
	}

	 #toggleMenu {
		margin-top: -6px;
		padding: 8px 10px;
		height: 40px;
	}
}

@media all and (min-width: 1281px)
{
	header::before {
		width: auto;
		right: calc(50% + 630px);
	}
	
	header::after {
		left: calc(50% + 620px);
		width: auto;
	}
	
	#besideLogo {
		padding: 0;
	}
	
	body:not(.home) #phoneNumber {
		padding: 0 8px;
		width: 330px;
	}
	
	#alternateNumber {
		padding: 1px 8px;
		margin: -3px 0 4px 0;
	}
	
	#mainMenu {
		background: none;
		padding: 0;
		
		position: static;
		font-size: 1em;
		text-align: right;
		
		transform: none;
		transition: none;
		max-width: none;
		
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	
	#mainMenu li {
		display: inline-block;
	}
	
	#toggleMenu,
	#mainMenu #closeMenu {
		display: none;
	}
}