/**	
 * Holds the css for Raleigh as a theme.
 */

*:root{
	--lightGrey: #EEECE6;
	--lightMidGrey: #C9C9C8; 
	--midGrey: 	 #A9A8A1;
	--darkGrey:  #6C6E6D;
	--blackGrey: #302F2D;
	--limeGreen: #B0FF00;
	--limeGreenFriend: #69d405;
	--coralRed:  #FE3C37;
	--coralRedFriend: #E23430;
	--skyBlue:   #55B5FF;
	--eyeBlue: 	 #0076D1;
	--black:	 #000000;
	--white:	 #ffffff;
	--display: normal normal 400 1em/110% "albertus_nova", serif;
	--subline: normal normal 400 1em/100% "apercu_mono_pro", monospace;
	--main: normal normal 300 1em/140% "apercu_mono_pro", monospace;
	--body: normal normal 300 1em/140% "apercu", sans-serif;
	--tech: normal normal 300 1em/140% "apercu_mono_pro", monospace;
}
html{
	font-size:10px;
	font-smoothing: always;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0); 
	-moz-osx-font-smoothing: grayscale;
	background-color:var(--black);
}
html, 
body{
	margin:0;
	padding:0;
	width:100%;
	height:100%;
}
body,
main
{
	background-color:var(--white);
}
p, h1, h2, h3, h4, h5, div, ul, li{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
h1,h2{
	text-transform: uppercase;
}
h1{
	font:var(--display);
	font-size:4em;
	margin-bottom:32px;
}
h2{
	font:var(--subline);
	font-size:2.9em;
	margin-bottom:32px;
}
.main{
	font:var(--main);
	font-size:1.4em;
	margin-bottom:24px;
}
.secondary{
	font:var(--body);
	font-size:1.12em;
	margin-bottom:24px;
}
.technical{
	text-transform:uppercase;
	font:var(--tech);	
}
h3.technical{
	text-decoration:underline;
	font-size:1.12em;
}
p.technical{
	font-size:1.12em;
}
ul, li{
	list-style: none;
}
a,
a label{
	text-decoration: none;
	color: currentColor;
	cursor: pointer;
}
svg{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	height: 100%;
	width: 100%;
	fill: currentColor;
}

/**
 * Default operator classes
 */
.__hidden{
	display:none;
}
.__has-svg{
	position:relative;
}
.__holds-assets{
	display:none;
}
.__displayFont{
	font:var(--display);
	text-transform:uppercase;	
	color:currentColor;
}
.__bodyFont{
	font:var(--mono);
	color:currentColor;
}
.__bodyLightFont{
	font:var(--monoLight);
	color:currentColor;
}
.__labelFont{
	font:var(--label);
	color:currentColor;
}
.__split{
	column-count:2;
	column-gap:24px;
}
.__inner{
	width:100%;
	height:100%;
	position:relative;
	max-width:1440px;
	padding:0 48px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}
.__mediumInner{
	max-width:1024px;
}
.__smallInner{
	max-width:768px;
}
.__row{
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
}
.__centeredRow{
	display:flex;
	flex-flow:row nowrap;
	align-items:center;
	justify-content:center;
	width:100%;
}
.__stack{
	display:flex;
	flex-flow:column nowrap;
}
.__centeredStack{
	display:flex;
	flex-flow:column nowrap;
	align-items:center;
	justify-content:center;
	height:100%;
}
.__row .__innerLeft,
.__row .__innerRight{
	height:100%;
	position:relative;
	display:inline-flex;
	flex-flow:row nowrap;
	align-items:center;
	justify-content:flex-start;
}

mark{
	padding-left:12px;
	padding-right:12px;
}
span.mark{
	display:inline-block;
	padding:1% 4px;
}
.__redMark{
	background-color:var(--coralRed);
	color:currentColor;
	z-index:-1;
}
.__blackMark{
	background-color:var(--black);
	color:var(--white);
}
.__limeMark{
	background-color:var(--limeGreen);
	color:currentColor;
	z-index:-1;
}
.__whiteMark{
	background-color:var(--white);
	color:var(--black);
}
/**
 * Specifics.
 */
.__has-RaleighRPatternBackground{}
.__holds-Pattern{
	overflow:hidden;
	position:absolute;
	left:0px;
	top:0px;
	z-index:0;
	width:100%;
	height:100%;
}
.__holds-Pattern span{
	display:block;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:100%;
	height:100%;
	min-height:1600px;
	min-width:1600px;
}
.__holds-Pattern span svg{
	height:110%;
	width:110%;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}

/**	
 * Icons / etc.
 */
.__iconArrow--upDown{
	display:block;
	position:absolute;
	width:40%;
	height:40%;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}
.__iconArrow--upDown::before{
	height:100%;
	width:2px;
	background-color:currentColor;
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}
.__iconArrow--upDown::after{
	height:70%;
	width:70%;
	box-sizing:border-box;
	transform:translate(-50%,-50%) rotate(-45deg);
	border-top:0px;
	border-right:0px;
	border-left:2px solid currentColor;
	border-bottom:2px solid currentColor;
	content:"";
	position:absolute;
	left:50%;
	top:65%;
}


@keyframes spin{
	0%{
		transform:translate(-50%,-50%) rotate(0deg);
	}
	100%{
		transform:translate(-50%,-50%) rotate(360deg);
	}
}
@keyframes spin_a{
	0%{
		transform:translate(-50%,-50%) rotate(-90deg);
	}
	80%{
		transform:translate(-50%,-50%) rotate(0deg);	
	}
	100%{
		transform:translate(-50%,-50%) rotate(270deg);	
	}
}
@keyframes spin_b{
	0%{
		transform:translate(-50%,-50%) rotate(-90deg);
	}
	80%{
		transform:translate(-50%,-50%) rotate(90deg);	
	}
	100%{
		transform:translate(-50%,-50%) rotate(270deg);	
	}
}
@keyframes spin_c{
	0%{
		transform:translate(-50%,-50%) rotate(-90deg);
	}
	80%{
		transform:translate(-50%,-50%) rotate(180deg);
	}
	100%{
		transform:translate(-50%,-50%) rotate(270deg);
	}
}
.__spinner{
	height:72px;
	width:72px;
	display:block;
	box-sizing:border-box;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%) rotate(0deg);
	border-radius:50%;
	border:6px solid transparent;
	border-top:6px solid currentColor;
	color:var(--blackGrey);
	animation-name: spin;
  	animation-duration: 2s;
  	animation-iteration-count: infinite;
  	animation-timing-function:linear;
}
.__spinner span,
.__spinner::before,
.__spinner::after{
	height:72px;
	width:72px;
	display:block;
	box-sizing:border-box;
	position:absolute;
	left:50%;
	top:50%;
	border-radius:50%;
	border:6px solid transparent;
	transform:translate(-50%,-50%) rotate(-90deg);
	border-right:6px solid currentColor;
	content:"";
}
.__spinner span{
	animation-name: spin_a;
  	animation-duration: 3s;
  	animation-iteration-count: infinite;
  	animation-timing-function:linear;
}
.__spinner::before{
	animation-name: spin_b;
  	animation-duration: 3s;
  	animation-iteration-count: infinite;
  	animation-timing-function:linear;
} 	
.__spinner::after{
	animation-name: spin_c;
  	animation-duration: 3s;
  	animation-iteration-count: infinite;
  	animation-timing-function:linear;
}

/**
 * Navigation
 */

nav.langNav{
	position:absolute;
	top:0px;
	width:100%;
	z-index:6;
	height:46px;
	background-color:var(--black);
	transform:translateY(-46px);
	transition:transform .3s ease-in;
	color:var(--white);
}
nav.mainNav{
	height:80px;
	width:100%;
	background-color:transparent;
	position:absolute;
	top:0px;
	left:0px;
	z-index:4;
	transform:translateY(0px);
	transition:transform .3s ease-in;
}

.__navSpacer{
	height:0px;
	width:100%;
	display:block;
	transition:height .3s ease-in;
}

.__showLangNav nav.langNav{
	transform:translateY(0px);
}
.__showLangNav nav.mainNav{
	transform:translateY(46px);
}
.__showLangNav .__navSpacer{
	height:46px;
}

nav.pageNav{
	position:fixed;
	top:0px;
	left:0px;
	z-index:4;
	width:100%;
	height:56px;
	background-color:var(--white);
	transform:translateY(-100%);
	transition:opacity .3s ease-in-out;
	opacity:0;
	box-sizing:border-box;
	box-shadow:0px 1px 1px rgba(0,0,0,.1);
}
.__showPageNav nav.pageNav{
	transform:translateY(0);
	opacity:1;
}
.menuLogo{
	color:var(--black);
	display:inline-block;
	height:24px;
	width:211px;
}
.menuHeron{
	display:inline-block;
	height:24px;
	width:18px;
}
.menuHeronSmall{
	display:inline-block;
	height:18px;
	width:12px;
}
.inpageHeron{
	height:80px;
	width:50px;
	margin-bottom:32px;
}
.__break{
	display:block;
}
.button{
	background-color:var(--black);
	color:var(--white);
	padding:0 24px;
	height:56px;
	display:inline-flex;
	flex-flow:row nowrap;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
}
button.button{
	border:none;
}
.buttonLabel{
	font:var(--subline);
	font-size:1.8em;
	text-transform:uppercase;
}
.button.__ghostButton{
	background-color:transparent;
	color:var(--black);
	border:1px solid currentColor;
}
.button.__smallButton{
	height:46px;
	padding:0 20px;
}
.__smallButton .buttonLabel{
	font-size:1.4em;
}
.button.__darkGrey{
	background-color:var(--darkGrey);
}
.button.__ghostButton.__darkGrey{
	background-color:transparent;
	color:var(--darkGrey)
}
.button.__coralRed{
	background-color:var(--coralRed);
}
.button.__ghostButton.__coralRed{
	background-color:transparent;
	color:var(--coralRed)
}
.button.__limeGreen{
	background-color:var(--limeGreen);
}
.button.__limeGreen .buttonLabel{
	color:var(--black);
}

/**
 * Footer
 */
footer{
	background-color:var(--black);
	color:var(--darkGrey);
}
footer section{
	padding:64px 0;
	box-sizing:border-box;
}
.logoSection,
.logoSectionTop{
	color:var(--white);
	display:flex;
	flex-flow:row nowrap;
	align-items:center;
	justify-content:center;
}
.logoSection{
	border-bottom:1px solid var(--blacGrey);
}
.logoSectionTop{
	padding:56px 0;
}
.logoSectionBottom{
	color:var(--blackGrey);
	display:flex;
	flex-flow:row nowrap;
	align-items:center;
	justify-content:center;
	padding:0;
	border-top:2px solid currentColor;
}
.logoSection--logo{
	display:inline-flex;
	flex-flow:column nowrap;
	align-items:center;
	justify-content:center;
	margin:0px auto 16px auto;
}
.logoSection--logo .heron,
.logoSectionTop .heron{
	height:80px;
	width:52px;
	margin-bottom:30px;
}
.logoSectionTop .heron{
	margin-bottom:0px;
}
.logoSection--logo .wordmark{
	height:24px;
	width:211px;
}
.logoSectionBottom .wordmark{
	width:100vw;
	height:11.40vw;
}
.copyrightNotice sup{
	font-size:.5em;
}
.linkSection--links ul{
	color:var(--white);
	display:inline-flex;
	flex-flow:row nowrap;
	align-items:flex-start;
	justify-content:center;
}
.linkSection--links li{
	margin-left:48px;
}
.linkSection--links li a{
	opacity:0.8;
}
.linkSection--links li a:hover{
	opacity:1;
}
.linkSectionTight{
	padding:0;
	border-top:1px solid var(--blackGrey);
	color:var(--white);
	padding:24px 0;
}
.linkSectionTight .linkSection--links, 
.linkSectionTight .linkSection--legal{
	font:var(--main);
	font-size:1.3em;
}
.linkSectionTight .linkSection--links li a{
	opacity:1;
}
.linkSectionTight .linkSection--links li a:hover{
	opacity:1;
}

input[type="checkbox"] ~ .__showIfCheckboxChecked{
	display:none;
}

input[type="checkbox"]:checked ~ .__showIfCheckboxChecked{
	display:block;
}

@media only screen and (max-width: 1024px) {
 	nav.mainNav,
 	nav.pageNav{
		height:46px;
	}
	.menuLogo{
		height:16px;
		width:140px;
	}
	.__inner{
		padding-left:20px;
		padding-right:20px;
	}
	nav .__inner.__row{
		padding-right:0;
	}
	.__split{
		column-count:1;
	}
	.linkSectionTight .__inner.__row{
		display:flex;
		flex-flow:column;
		align-items:flex-start;
		justify-content:flex-start;
	}
	.linkSection--links li{
		margin-left:0px;
		margin-top:10px;
		padding-top:20px;
		padding-bottom:20px;
	}
}
@media only screen and (max-width: 400px) {
	html{
		font-size:7px;
	}
	.menuLogo{
		height:10px;
		width:87px;
	}
}



