/*ALL EM CONVERSIONS BASED ON 16PX*/


/* =============================================================================================
	BASE STYLES AND LAYOUT
============================================================================================= */

/* ------------------------------------------------------------------------ Page Styles & Resets */

html {
    font-size: 100%; 
    overflow-y: scroll;
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    -webkit-text-size-adjust: 100%; 
    -ms-text-size-adjust: 100%;
	 -webkit-box-sizing: border-box; 
	         box-sizing: border-box;
	}
	
body {
	margin: 0;
	min-height: 100%;
	font: normal 100%/1.6 'Source Sans Pro', Arial, Helvetica, sans-serif; 
	color: #151744;	
	overflow-x: hidden;
	} 

	.Preload * { /* Transitions fire only after page load http://css-tricks.com/transitions-only-after-page-load/ */
		-webkit-transition: none !important;
			transition: none !important;
		}
		
*, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; } /*inherits border-box from html*/

article, aside, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

p, ol, ul, li { margin:0; padding: 0 0 1em; }

.pos-rel {
	position: relative;
}

/* ------------------------------------------------------------------------ Clearfix Hack: http://nicolasgallagher.com/micro-clearfix-hack/ */

.CF:before, .CF:after { 
	content: ""; 
	display: table; 
	}
	.CF:after { clear: both; }
	.CF { *zoom: 1;}
	
.Clear { clear: both; }

		
/* ------------------------------------------------------------------------ Keyboard Accessibility */

.SkipLink { 
	position:absolute; 
	left:-10000px; 
	top:auto; 
	width:1px; 
	height:1px; 
	overflow:hidden;
	background: #2c4890;
	color: #fff;
	font-size: 0.875em;
	text-decoration:none;
	z-index: 100;
	} 
 
	.SkipLink:focus { 
		left:0;
		outline: none; 
		padding:0.375em 0.625em; 
		width:auto; 
		height:auto; 
		} 
		
a:focus, input:focus, select:focus, textarea:focus {outline: solid thin #2c4890; } /* outline shows with keyboard... */
	a:hover, a:active { outline: none !important; } /*...not with mouse (kinda) */
		

/* ------------------------------------------------------------------------ Headers */

h1, h2, h3, h4  { 	
	font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif;
	line-height:1.2;
	font-weight:normal; 	
	text-rendering: optimizeLegibility;
	margin:0;
	color: #1c1e5a;
	}	

	h1 {
		font-size: 1.8em; 
		padding-bottom: 0.5em; /* 16px (consistent with p, ol, ul, li, img) */
		max-width: 92%;
		}
		h1.AlignC,
		h1.NoMaxWidth {max-width: 100%}


		/*H1's can be put inside headingblock for more padding*/
		.HeadingBlock {
			background-color: #FFF;
			padding: 2em 0 0 0;
			}
		
	h2 { 
		text-transform: uppercase;
		font-weight: 700;
		font-size: 1.625em; /*26px*/
		padding: 0.615em 0; /* 16px */
		}
		section h2:first-child { padding-top: 0; }
			
	h3 { 
		font-size: 1.5em; /*24px*/
		padding: 0.667em 0; /* 16px */
		}	

	h4 {
		color: #6f6f6f;
		font-weight: 600;
		font-size: 1.3em;
		padding: 0.4em 0;
		}	
		
		h1 + h2, h1 + h3, h2 + h3  { padding-top: 0; }	

		
@media all and (min-width: 60em) {	

	h1 {
		 font-size: 2.5em; /*40px*/
		 font-size: 3.85vw;
		 padding-bottom: 0.4em; /* 16px */
		 } 
	h2 { 
		font-size: 2.125em; /*34px*/
		padding: 0.471em 0; /* 16px */
		}
		
	h3 { 
		font-size: 1.75em; /*28px*/
		padding: 0.571em 0; /* 16px */
		line-height: 1.1
		}

	.HeadingBlock {padding: 3.5em 0 0.5em 0}	
	

}

@media all and (min-width: 90em) {	
		
	h1 { 
		font-size: 3.5em;
		padding-bottom: 0.333em; /* 16px */
		}
		.HeadingBlock {padding: 5.75em 0 0.5em 0}
		
	h2 { 
		font-size: 2.5em;
		padding: 0.381em 0; /* 16px */
		}
		
	h3 { 
		font-size: 2.1875em; 
		padding: 0.444em 0; /* 16px */
		}
	
}	

				
/* ------------------------------------------------------------------------ Lists */

ul { 
	list-style: none; 
	list-style-position: outside;
	padding-left: .25em;
	}
	ul li {	
	    padding-left:1em;
	    padding-bottom: 0.5em;
		position: relative;
		background-image: url(../../images/arrow-right-grey.svg);
		background-repeat: no-repeat;
		background-position: left 0.5em;
		background-size: 6px;
		}
			
ol { 
	list-style-position: outside;
	padding-left: 1.5em;
	}
	ol li { 
		padding-left:0; 
		background-image: none; 
		}

	
/*custom counters*/
ol.NumericCounter,
ol.AlphaCounter { 
	margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    list-style-type: none;
	}

	ol.NumericCounter li,
	ol.AlphaCounter li {
		padding-left: 2.5em; 
		background-image: none;
		}

		ol.NumericCounter li::before,
		ol.AlphaCounter li::before {
			font-size: 80%;
			background-color: #29a583;
			color: #FFF;
		    font-weight: bold;
		    padding: 0.25em 0.6em;
		    border-radius: 3px;
		    margin: 0 1em 0 -2.6em;
			}

	/*custom numeric counter*/
	ol.NumericCounter {}
		ol.NumericCounter li { counter-increment: step-counter; }
			ol.NumericCounter li::before {content: counter(step-counter);}

	/*custom alpha counter*/
	ol.AlphaCounter { counter-reset: listStyle;}
		ol.AlphaCounter li { counter-increment: listStyle;}
			ol.AlphaCounter li::before {
				content: counter(listStyle, lower-alpha);}	

	/*Nested counters - reset so rules dont get overwritten*/		
		ol.AlphaCounter ol.NumericCounter li {counter-increment: step-counter;}
			ol.AlphaCounter ol.NumericCounter li::before {
				content: counter(step-counter);
				background-color: #8a8a8a;
				}

		ol.NumericCounter ol.AlphaCounter {counter-reset: listStyle;}
			ol.NumericCounter ol.AlphaCounter li {content: counter(listStyle, lower-alpha);}					
				ol.NumericCounter ol.AlphaCounter li::before {
					content: counter(listStyle, lower-alpha);
					background-color: #8a8a8a;
					}							
					
			ol.NumericCounter ul,
			ol.NumericCounter ul li,
			 ol.NumericCounter ul li::before {
				counter-increment: none;
				content: none;
				}		

				ol.NumericCounter ul li {
					padding-left: 1em;
			    	background-image: url(../../images/arrow-right-grey.svg);
				    background-repeat: no-repeat;
				    background-position: left 0.5em;
				    background-size: 6px;
					}

	li ul, li ol { margin: 0.875em 0 -.5em 0; }
	
		li:last-child {padding-bottom:0; }
			
					
/* ------------------------------------------------------------------------ Other Base Text Styles */

b, strong { font-weight: bold;}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
	}
	sup { top: -0.5em; }
	sub { bottom: -0.25em; }
	
.NoWrap { white-space:nowrap; }

.Note {
	font-size: 0.875em;
	font-style:italic; 
	}

.TotalNumber {
	font-size: 4em;
    line-height: 1;
}

.LargerNote {
	font-size: 1em;
	font-style:italic; 
	}	
	.Note.Normal, .LargerNote.Normal {font-style: normal;}
		
.IntroText, .IntroTextSm { 
	font-size: 1.15em; /*20px*/
	padding-bottom: 0.800em; /* 16px */
	line-height: 1.4;
	}

.AlertWhiteBox {
	background: #fff;
    padding: 2em;
    border: solid 1px #ddd;
	margin-bottom: 1em;
}

.Alert {
	position: relative;
	background-color: #b5304f;
	color: #FFF;
	text-align: center;
	
	padding: 0.25em 0.75em 0.75em 0.75em;
	font-weight: 400;
	margin: 0 0 1em 0;
	font-size: 0.9em;
	}	
	.Alert:before {
		content: "";
		display: block;
		
		background: url(../../images/alert-icon-white.svg) no-repeat;
		width: 1.8em;
		height: 2.2em;
		margin: 0.5em auto 0.5em auto;
		vertical-align: middle;
		}

	.Alert a {color: #FFF;}	

.Rejected {
	color: #b5304f;
	font-style: italic;
	}
	.Rejected:after {
		content: "✖";
		margin: 0 0.5em 0 0.25em;;
		}

.Accepted {
	color: #30d03e;
	font-style: italic;
	}	
	.Accepted:after {
		content: "✔";
		margin: 0 0.5em 0 0.25em;;
		}	

.RedFont {color: #e7004c;}

.FS1 {font-size: 1em;}
	
@media all and (max-width: 50em) {
	.AlertWhiteBox {
		text-align: center;
		margin-bottom: 1.5em;
	}
	
	.AlertWhiteBox .TotalNumber {
		font-size: 2.5em;
		margin-top: 0.25em;
	}
}

@media all and (min-width: 60em) {	

	.IntroText { 
		font-size: 1.3125em; 
		line-height: 1.8;
		padding-bottom: 0.533em; /* 16px */
		}

	.Alert {
		font-size: 1.125em;
		line-height: 1.4;
		padding: 0.75em 1em 1em 3em;
		}	
		.Alert:before {
			position: absolute;
			left: 1em;
			top: 1em;
			display: inline-block;
			margin: 0 0.5em 0 0;
			}

}

	
/* ------------------------------------------------------------------------ Links */

a { 
	color: #29a583; 
	font-weight: bold;
	font-weight: 700;
	-webkit-transition: all 0.25s;
		transition: all 0.25s;
	}	
	a:hover { text-decoration:none;	}

	h3 a {
		font-weight: normal;
		text-decoration: none;
		}
		h3 a:hover {text-decoration: underline;}
	
	main a { word-wrap: break-word; /*Makes long URL's wrap*/ }

	a img {
		display: block;
		border: none;
		-webkit-backface-visibility: hidden;
			
		-webkit-transition: opacity 0.25s;
			transition: opacity 0.25s;
		}				
		a img:hover { opacity: .8; }		
			 
.More {
	display: inline-block;
	text-decoration:none;	
	position: relative;
	font: 600 1em 'Source Sans Pro', Arial, Helvetica, sans-serif;
	color: #29a583;
	-webkit-transition: color 0.25s;
		transition: color 0.25s;
	}		
	.More:after {
		content: "";
		display: inline-block;
		background: url(../../images/more-icon.svg) no-repeat center;
		background-size: 0.9em auto;
		width: 1em;
		height: 1em;
		margin-left: 0.4em;
		position: relative;
		top: 0.15em;
		-webkit-transition: all 0.25s ease-in-out;
		transition: all 0.25s ease-in-out;
		}
	.More:hover { 
		color: #1c1e5a;
		}
	.More:hover:after {
		-webkit-transform: translateX(0.1em);
		        transform: translateX(0.1em);
	}

	.More.Back:after {
		float: left;
		-webkit-transform: rotate(-180deg);
		        transform: rotate(-180deg);
		margin: 0 0.4em 0 0;
		}

		.More.Back:hover:after {
			-webkit-transform: rotate(-180deg) translateX(0.1em);
			        transform: rotate(-180deg) translateX(0.1em);
			}
	
.Button {
	color: #fff;
	text-decoration:none;
	text-transform: uppercase;
	text-align:center;
	white-space: normal; /*Makes text wrap on resize */
	border:none;
	border-radius: 0; 
	font: 700 1em/1.2 'Source Sans Pro', Arial, Helvetica, sans-serif;
	
	display:inline-block;	
	background: #29a583;
	width:100%;
	margin: 0.4em 0 0.8em 0 ;
	padding: 0.5em 1em;
	cursor: pointer;
	-webkit-transition: background-color 0.25s;
	transition: background-color 0.25s;
	}

	.SecondaryButton {background-color: #3087b5;}
    .AlertButton {background-color: #b5304f;}

	.LoginButton,
	.MemberButton,
	.SearchButton,
	.ClearButton,
    .AlertButton {
		background-repeat: no-repeat;
		background-position: 1.0em center;
		background-size: 1.3em auto;
		padding-left: 3.0em;
		}

	.LoginButton {background-image: url(../../images/login-icon-white.svg);}
	.MemberButton {background-image: url(../../images/member-icon-white.svg);}	
	.SearchButton {background-image: url(../../images/search-icon-white.svg);}
	.ClearButton {background-image: url(../../images/clear-icon-white.svg);}		
	.AlertButton {background-image: url(../../images/search-icon-white.svg);}		
	
	.Button:hover, .Button:focus  {
		background-color: #111;
		}	
		
@media all and (min-width: 40em) {	

	.Button {width: auto;}
		.Button + .Button {margin-left: 1em}
}

@media all and (min-width: 60em) {	
	
	.More  {
		font-size: 1.25em;
		font-size: 1.25rem;
		}
	
	.Button { 
		font-size: 1.1em;
		margin: 1em 0 0.727em 0 ;
		padding: 1em 1.4em; 
		}
		.Button.SmallButton {font-size: 1.0em;}

		.SearchButton,
		.ClearButton,
        .AlertButton {
			padding-left: 3.5em;
			background-position: 1.25em center;
			background-size: 1.5em auto;
			}
            .SearchButton:hover, .SearchButton:focus,
            .ClearButton:hover, .ClearButton:focus,
            .AlertButton:hover, .AlertButton:focus {
                background-color: #111;
                background-size: 1.4em auto;
                background-position: 1.3em center;
            }	

		.LoginButton,
		.MemberButton {
			padding-left: 4.0em;
    		padding-right: 1.25em;
			background-position: 1.35em center;
			background-size: 2em auto;
			}
			.LoginButton:hover, .LoginButton:focus,
			.MemberButton:hover, .MemberButton:focus {
				background-size: 1.9em auto;
				background-position: 1.45em center;
				}

}

@media all and (min-width: 90em) {

	.Button {font-size: 1.1875em;}
}
		
	
/* ------------------------------------------------------------------------ Images */

img {
	 border: 0; 
	 max-width:100%;
	 height:auto!important;
	 margin: 0 0 1em 0; 
	 padding:0;
    -ms-interpolation-mode: bicubic;	
	}
	
figure {
	width: 100%; 
	margin: .5em auto 2em auto;
	padding: 1em;
	background: #f8f8f8;
	}
	
	figure img { 
		width: 100%;
		margin-bottom: .5em; 
		}
	
	figcaption { 
		text-align: center;
		padding:0 0 .5em 0;
		}

	figcaption p {
		line-height: 1.4;
		text-align: left;
		}	

img.ImageFloatLeft, img.ImageFloatRight { margin: .375em 0 1em 0;	}

.DragIcon {
	display: inline-block;
	background: url(../../images/drag-icon.svg) no-repeat center;
	width: 1.25em;
	height: 1.25em;
	cursor: move;
	vertical-align: -20%;
	margin-left: 0.75em;
	}
tr.placeholder {
    position: relative;
    margin: 0;
    padding: 0;
    border: none; 
    height: 15px;
    background-color: #2b2e82;
	}
	
tr.placeholder:before {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      margin-top: -5px;
      left: -5px;
      top: -4px;
      border: 5px solid transparent;
      border-left-color: #ec8121;
      border-right: none; 
	  }
	
				
@media all and (min-width: 40em) {	
	
	img.ImageFloatLeft,
	img[src$=".svg"].ImageFloatLeft  {
		float: left;
		margin: .375em 3.5% .375em 0;
		max-width:50%;
		}
		
	img.ImageFloatRight {
		float: right;
		margin: .375em 0 .375em 3.5%;
		max-width:50%;
		}
	
}

@media all and (min-width: 60em) {	
		
	img.ImageFloatLeft, img.ImageFloatRight,
	img[src$=".svg"].ImageFloatLeft { max-width:40%; }
	
}		
			
	
/* ------------------------------------------------------------------------ SVG's */

svg {
	display: inline-block;
	width: 1em;
	height: 1em;
	}
		
a.SVG { /*this makes links work when wrapped around an svg used as an <object> */
	position: relative;
	display: inline-block; 
	}
	a.SVG:after {
		content: ""; 
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left:0;
		}
		
img[src$=".svg"] { max-width:100%; } /*when using svg as an <img>, this keeps it from doing wonky things in IE when being resized*/
			
.SVGFullWidth  { /*this makes full width inline or external <use> svg's resize properly in IE  */
	width:100%;
	height: 0;
    padding-top: 50%; /*adjust as necessary*/
    position: relative;
	}
	.SVGFullWidth svg {
		position: absolute;
		top: 0;
		left: 0;
		}

h1.HasIcon,
h2.HasIcon,
h3.HasIcon {
	padding-left: 1.3em;
	background-repeat: no-repeat;
    background-position: left 0.2em;
    background-size: 0.90em;
	}
	h2.HasIcon {background-size: 1em;}

	h1.HomeIcon {
		background-image: url(../../images/home-icon.svg);
		 background-size: 0.85em;}		
	h1.ListIcon {background-image: url(../../images/list-icon.svg);}
	h1.AddIcon {
		background-image: url(../../images/add-icon.svg);
		background-size: 0.80em;
		}
	h1.RequestIcon {
		background-image: url(../../images/request-icon.svg);
		background-size: 0.95em;
		/*background-position: left 0.15em;*/
		}
	h1.ImportIcon {background-image: url(../../images/import-icon.svg);}
	h1.ExportIcon {background-image: url(../../images/export-icon.svg);}	
	h1.EditIcon {background-image: url(../../images/edit-icon.svg);}	
	h2.SearchIcon {background-image: url(../../images/search-icon.svg);}			
	h1.ClearIcon {
		background-image: url(../../images/clear-icon.svg);
		background-position: left 0.1em;
		}	
	
	h3.AwardIcon,
	h2.AwardIcon {background-image: url(../../images/award-icon.svg);}	
		
/* ------------------------------------------------------------------------ Video */

video { margin:1em 0 }


/* ------------------------------------------------------------------------ Horizontal Rules */

hr { 
	border:none;
	color: #ddd;
	background: #ddd;
	height:0.063em;
	margin: 1.5em auto 1.5em auto;
	}	
	
	hr + h2, hr + h3 { padding-top: 0; }
	hr + .InfoBox { margin-top: 2.5em; }	
	.TableWrapper + hr, table + hr, .InfoBox + hr, .FlexibleIframe + hr { margin-top: 2.5em; }

@media all and (min-width: 60em) {

	hr {margin: 2em auto 2em auto;}
}	


/* ------------------------------------------------------------------------ Flexible iFrames */

.FlexibleIframe {
	position: relative;
	margin: .5em 0 2em 0;
    padding-bottom: 56.25%;
    padding-top: 30px; 
	height: 0; 
	overflow: hidden;
	}
	.FlexibleIframe iframe,
	.FlexibleIframe object,
	.FlexibleIframe embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
		


/* ------------------------------------------------------------------------ Layout */
	
.Wrapper,
.NarrowCol {
	max-width: 82.125em;
	width: 95%;
	margin:0 auto;
	}	
	.NarrowCol {max-width: 76.8125em}
	
		
@media all and (min-width: 50em) {	
		
	[class*='Col-'] { 
		margin-right: 3.5%;
		float:left; 
		}
	.tablet-col.tc-1 [class*='Col-'] { 
		margin-right: 3.5% !important;
		float:left; 
		}
		[class*='Col-']:last-child { margin-right: 0; }
				
		.Col-1-3 { width:31%; }	
			.Col-1-3:nth-child(3n) { margin-right: 0; }				
			.Col-1-3:nth-child(3n+4) {clear: both;}			
		
		.Col-2-3 { width:65.5%; }	
					
		.Col-1-2, .Col-1-4 { width:48.25%;}
			.Col-1-2:nth-child(2n), .Col-1-4:nth-child(2n) { margin-right: 0; }
		
		.Col-3-4 { width:74.125%; }		
		
		.Col-1-5 {width: 17.2%;}
		.Col-2-5 {width: 37.9%;}
		.Col-3-5 {width: 58.6%;}
		.Col-4-5 {width: 79.2%;}

		.Col-1-6 { width:16.08%; }		
		.Col-5-6 { width:80.42%; }

		/*.Col-1-7 {width: 11.28%;}
		.Col-3-7 {width: 40.85%;}*/
        .Col-2-7 { width: 28.5% }
        .Col-5-7 { width: 68% }

		.Col-1-9 {width: 8%;}
		.Col-4-9 {width: 42.5%;}
		

			
}	

@media all and (min-width: 60em) {		
			
	.Col-1-4 { width:22.375%; }		
		.Col-1-4:nth-child(2n) { margin-right: 3.5%; }			
		.Col-3-4 + .Col-1-4 { margin-right: 0; }			
		.Col-1-4:nth-child(4n) { margin-right: 0; }			
		.Col-1-4:nth-child(4n+5) {clear: both;}
		
}






.Landing {
	
}

/* -- Structure --*/

.Landing .d-flex{
	display: block;
}

.align-items-center {
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.Landing .container {
	position: relative;
    max-width: 106.25em;
    width: 93%;
	margin: 0 auto;
}

.Landing main section:nth-child(odd) { background-color: #F0F0F0 ;}
.Landing main section:nth-child(even) { background-color: #FFFFFF ;}

.Landing .col-83, .Landing .col-75, .Landing .col-66, .Landing .col-50, .Landing .col-33, .Landing .col-25 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

.margin-auto-center {
	margin: 0 auto;
}

@media all and (min-width: 60em) {
	.Landing .d-flex{
		display: flex;
		flex-wrap: wrap;
	}
	
	.Landing .container {
		width: 97%;
	}
	
	.Landing .col-100 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
		padding-right: 15px;
		padding-left: 15px;
	}
	
	.Landing .col-83 {
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
		padding-right: 15px;
		padding-left: 15px;
	}

	.Landing .col-75 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
		padding-right: 15px;
		padding-left: 15px;
	}

	.Landing .col-66 {
		-ms-flex: 0 0 66.7%;
		flex: 0 0 66.7%;
		max-width: 66.7%;
		padding-right: 15px;
		padding-left: 15px;
	}

	.Landing .col-50 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
		padding-right: 15px;
		padding-left: 15px;
	}

	.Landing .col-42 {
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
		padding-right: 15px;
		padding-left: 15px;
	}
	
	.Landing .col-33 {
		-ms-flex: 0 0 33.3%;
		flex: 0 0 33.3%;
		max-width: 33.3%;
		padding-right: 15px;
		padding-left: 15px;
	}

	.Landing .col-25 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
		padding-right: 15px;
		padding-left: 15px;
	}
	
	.Landing .col-16 {
		-ms-flex: 0 0 16.666667%;
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
		padding-right: 15px;
		padding-left: 15px;
	}
}

/* -- Banner -- */

.Landing .banner {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	position: relative;
}

.Landing .overlay-light {
	height: 100%;
    width: 100%;
    background: rgba(0,0,0,0.3);
    position: absolute;
    top: 0;
	z-index: 0;
}

.Landing .overlay-dark {
	height: 100%;
    width: 100%;
    background: rgba(0,0,0,0.6);
    position: absolute;
    top: 0;
	z-index: 0;
}

	.Landing .banner h1 {
		color: #fff;
		font-size: 2.75em;
		font-family: 'Montserrat', sans-serif;
		font-weight: 900;
		text-align: center;
		line-height: 1.35;
	}

	.Landing .banner h1 span {
		background: #4CCAA7;
		padding: 1em;
		padding: 0.1em 0.1em;
	}

	.Landing .banner .heading-container-small {
		width: 100%;
		max-width: 62em;
		padding: 2.7em 0;
		z-index: 1;
   		position: relative;
	}

	.Landing .banner .heading-container-large {
		width: 100%;
		max-width: 80em;
		padding: 2.7em 0;
		z-index: 1;
   		position: relative;
	}

@media all and (min-width: 60em) {
	.Landing .banner h1 {
		font-size: 3.75em;
		text-align: left;
	}
}

@media all and (min-width: 90em) {
	.Landing .banner h1 {
		font-size: 5em
	}
}

/* -- Sections -- */

.sectionGrey { background-color: #F0F0F0;}
.section-full-wdith-image { padding: 0;}
.sectionCTA { color: #fff; background-size: cover; background-repeat: no-repeat; background-position: center; position: relative;}
.sectionCTA .sub-heading { text-align: center; color: #fff; }
.sectionCTA .container { z-index: 1 }

.HighlightBlock {
	position: relative;
	bottom: 0;
	background: rgba(235, 38, 27, 0.8);
	padding: 3em;
	color: #fff;
	z-index: 1;
}

.HighlightBlockHeader {
	font-family: 'Montserrat', sans-serif;
	font-size: 2em;
	color: #fff;
	font-weight: 700;
}

.HighlightBlock p:last-child {
	padding-bottom: 0;
}

.FullWidthHeading {
    position: relative;
	padding: 2em 3em;
	z-index: 1;
}
	
	.FullWidthHeading h3 {
		font-size: 2.5em;
		font-family: 'Montserrat', sans-serif;
		line-height: 1.25;
		color: #fff;
		font-weight: 700;
	}


@media all and (min-width: 60em) {
	.FullWidthHeading {
		position: relative;
		padding: 3em;
	}
	
	.FullWidthHeading h3 {
		font-size: 4.5em;
	}
	
	.HighlightBlock {
		position: absolute;
	}
	
	.HighlightBlockHeader {
		font-size: 2.375em;
	}
}

/* -- Content Styling -- */

.sub-heading {
	font-family: 'Montserrat', sans-serif;
	font-size: 2.75em;
	color: #151744;
	font-weight: bold;
	text-align: center;
}

.sub-heading-bold {
	font-family: 'Montserrat', sans-serif;
	font-size: 1.375em;
	color: #151744;
	font-weight: bold;
	text-align: left;
}

@media all and (min-width: 60em) {
	.sub-heading {
		font-size: 3.5em;
		text-align: left;
	}
}

ul.Check li {	
	padding-left: 2em;
    padding-bottom: 1em;
    position: relative;
    background-image: url(../../images/landing/orange-check.svg);
    background-repeat: no-repeat;
    background-position: left 3px;
    background-size: 25px;
}

.MailingAddress:before {
    display: inline-block;
    content: ' ';
    background-image: url('../../images/landing/mailing.svg');
   	height: 100px;
    background-size: 34px 32px;
    width: 34px;
    margin-right: 0.5em;
    background-repeat: no-repeat;
    top: 0.25em;
    position: relative;
    float: left;
}

.EmailAddress:before {
    display: inline-block;
    content: ' ';
    background-image: url(../../images/landing/email.svg);
    height: 100px;
    background-size: 30px 20px;
    width: 30px;
    margin-right: 0.5em;
    background-repeat: no-repeat;
    top: 0.25em;
    position: relative;
    float: left;
}

.IconText {
	display: flex;
	-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
		padding-right: 15px;
		padding-left: 15px;
}

.IconText div:first-child {
	display: block;
	margin-right: 10px;
	width: 100%;
	max-width: 30px;
}

.IconText div:last-child {
	width: auto;
	display: block;
}

.col-10.IconText {
		-ms-flex: 0 0 10%;
		flex: 0 0 10%;
		max-width: 10%;
		padding-right: 15px;
		padding-left: 15px;
	margin: 1em 0;
	}

.IconText .sub-heading-bold {
	text-align: center;
	padding: 1em 0;
}

.IconText div img {
	width: 100%;
}


@media all and (min-width: 60em) {
	
	.IconText .sub-heading-bold {
		text-align: left;
		padding: 0;
	}
}

/* -- Featured Section -- */

.featured-text {
	padding-right: 4em;
}

.landing-header {
	font-size: 2em;
	font-weight: 700;
	color: #151744;
	font-family: 'Montserrat', sans-serif;
	line-height: 1.25;
	padding-bottom: 1em;
	text-transform: unset;
}

.featured-divider-orange {
	border-left: solid 0px #EB3A1B;
	border-top: solid 3px #EB3A1B;
    padding: 2em 0 0 0;
}

.featured-divider-green {
	border-left: solid 0px #4CCAA7;
	border-top: solid 3px #4CCAA7;
    padding: 2em 0 0 0;
}


@media all and (min-width: 60em) {
	
	.featured-text {
		padding-right: 2em !important;
	}
	
	.landing-header {
		padding-bottom: 0;
	}
	
	.featured-divider-orange {
		border-left: solid 3px #EB3A1B;
		padding-left: 2em !important;
		border-top: 0;
	}
	
	.featured-divider-green {
		border-left: solid 3px #4CCAA7;
		padding-left: 2em !important;
		border-top: 0;
	}
}

@media all and (min-width: 90em) {
	.featured-divider-orange, .featured-divider-green {
		padding-left :4em !important;
	}
	
	.featured-text {
		padding-right: 4em !important;
	}
	
	.landing-header {
		font-size: 2.375em;
	}
}

/*-- Full wIdth Image -- */

.full-width-image {
	position: relative;
    overflow: hidden;
}

.full-width-image-right {
	overflow: auto;
    position: relative;
    top: 0;
    bottom: 0;
	left: 0;
    width: 100%;
    min-width: 1px;
    max-width: none;
    height: 100%;
    min-height: 100%;
    max-height: none;
    margin: 0;
    z-index: 0;
}

@media all and (min-width: 60em) {
	.full-width-image-right {
		overflow: hidden;
		position: absolute;
		width: 33.3%;
		min-width: 1px;
	}
}

/* -- Steps Section -- */

.steps-container {
	padding: 2em 0 0 0;
	margin-left: auto;
}

.Steps {
	background: #fff;
	padding: 3em;
	position: relative;
	margin: 0 auto 2em auto;
    max-width: unset;
    width: 85%;
}

.Steps p:last-child {
	padding-bottom: 0;
}

.Steps span {
	font-family: 'Montserrat', sans-serif;
	position: absolute;
    font-size: 4.5em !important;
	color: #29A583;
	font-weight: 700;
	top: 50%;
    bottom: 0;
    left: 0;
	line-height: 0;
    transform: translate(-50%, 0%);
	text-shadow: 0 3px 6px rgb(0 0 0 / 20%);
    z-index: 1;
}

@media all and (min-width: 60em) {
	.steps-container {
		padding: 6em 0 4em 0
	}
	
	.Steps {
		/*margin: 0 0 2em 0;*/
		max-width: 90%;
	}
	
	.Steps span {
		font-size: 6.875em !important;
	}
}

/* -- Swiper -- */

.Testimonials .swiper {
	width: 85%;
	margin: 2em auto 0 auto;
}

.Testimonials iframe {
	height: 300px;
}

.Testimonials strong {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
}

.Testimonials p:last-child {
	padding-bottom: 0;
}

.swiper {
	width: 100%;
	height: 100%;
}

.swiper-slide {
	/* Center slide text vertically */
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.swiper-button-prev {
    background-image: url("../../images/landing/left-arrow.svg");
	background-position: center;
	background-repeat: no-repeat;
	width: 51px !important;
	height: 51px !important;
}

.swiper-button-next {
    background-image: url("../../images/landing/right-arrow.svg");
	background-position: center;
	background-repeat: no-repeat;
	width: 51px !important;
	height: 51px !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
	content: unset !important;
}

/* -- Statements -- */

.Statements {
	display: flex;
	margin-top: 2em;
}

.Statements .Image {
	display: flex;
	width: 20%;
	margin-right: 10%;
	background-size: contain;
	background-position: top;
	background-repeat: no-repeat;
}

.Statements .Description {
	width: 70%;
}

.Statements .Description .Heading {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 24px;
}

/* -- News Article -- */

.News .col-33 a.NewsArticle {
	margin-bottom: 2em;
}

a.NewsArticle {
	position: relative;
	display: block;
	text-decoration: none;
	background: #fff;
	font-size: 1.125em;
	color: #151744;
	font-weight: normal;
	-webkit-transition: all 0.25s;
		transition: all 0.25s;
}

a.NewsArticle .Image {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	padding-bottom: 70%;
}

a.NewsArticle .Description {
	padding: 2em;
}

a.NewsArticle .Heading {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 1.375em;
	color: #151744;
	-webkit-transition: all 0.25s;
		transition: all 0.25s;
}

a.NewsArticle .ReadMore {
	font-weight: 700;
	color: #EB3A1B;
	-webkit-transition: all 0.25s;
		transition: all 0.25s;
}

a.NewsArticle:hover, a.NewsArticle:hover .Heading, a.NewsArticle:hover .ReadMore {
	text-decoration: none;
	color: #fff;
	-webkit-transition: all 0.25s;
		transition: all 0.25s;
}

a.NewsArticle:hover {
	background-color: #151744; 
}

@media all and (min-width: 60em) { 
	.News .col-33 a.NewsArticle {
		margin-bottom: 0;
	}
	
}

/* -- Forms -- */

.Landing input {
	border: solid 2px #CECECE;
	margin-bottom: 2em;
	padding: 1.25em 1.5em;
	height: unset !important;
}

.Landing textarea {
	border: solid 2px #CECECE;
	margin-bottom: 2em;
	padding: 1.25em 1.5em;
}

.Landing input::placeholder, .Landing textarea::placeholder {
	font-style: italic;
	font-size: 14px;
	color: #999999;
}

.Landing label {
	display: none;
}

.Landing .Button {
	margin: 0;
    padding: 1em 1.4em;
	border: 0;
}


/* =============================================================================================
	HEADER
============================================================================================= */

.PrintHeader { display:none; }

header {
	z-index: 20;
	position: relative;
	background-color: #2b2e82;
	text-align: center;
	}
	header .Wrapper {
		position: relative;
		max-width: 106.25em;
		width: 100%;
		}
		
.Logo,
.CssLogo { 
	margin:1em auto 1em auto;
	padding: 0;
	display: inline-block;
	max-width: 100%;
	}
	.Logo {width: 212px;}

	.CssLogo {
		width: 100px;
		margin-left: 1em;
		}

	.Logo img,
	.CssLogo img {
		margin-bottom: 0;
		width: 100%;
		}

		
@media all and (min-width: 60em) {	
	
	header .Wrapper {width: 95%;}

	.Logo,
	.CssLogo { 
		float:left;
		}
		.Logo {
			margin: 1.96em 0;
			width: 250px;
			}	
		.CssLogo {
			margin: 2.5em 0 0 2em;
			}
		
		.Logo.ErrorPage {
			margin:1.5em auto 2.5em auto;
			float: none;
			}
}


@media all and (min-width: 90em) {	

	.Logo {
		width: 323px;
		}

	.CssLogo {
		width: 120px;
		margin: 2.8em 0 0 4em;
		}	
}
	
		
/* ------------------------------------------------------------------------ TopLinks */

.TopLinks { 
	display: block;	
	/*padding: 0 0 0.25em 0;*/
	padding: 0.5em 1em;
	text-align: center;
	/*margin-bottom: .5em;*/
	background-color: #252771;
	}

	.TopLinksUserArea {font-size: 0.85em;}
		
	.TopLinks a { 
		color: #4ccaa7;
		font-weight: 400;
		font-style: italic;
		text-decoration: none;
		}
		.TopLinks a:hover { text-decoration:underline; }	

	.TopLinks .Dash {
		color: #ffffff;
		padding: 0 0.5em 0 0.6em;
		}	

	.TopLinks .LockIcon {
		margin: 0 0.6em;
		vertical-align: -10%;
		}	

	.TopLinks p.UserName {
		color: #cecece;
		padding-bottom: 0;
		}	

	.LanguageToggle {
		text-align:center;
		position: relative;
		padding: 0.15em 0;
		margin-top: 0.4em;
		/*margin-bottom: 0.4em;*/
		background-color: #2f7bbe;
		}	

		.GoogleTranslate {
			position:relative;
			min-width: 9.1875em;
			min-height: 1.6875em;
			}
			
		.GoogleTranslate img {
			display: inline;
			padding-bottom: 0;
			margin-bottom: 0;
			}
			
			.goog-te-gadget-simple { 
			background: #2f7bbe !important;
			border: 1px solid #2f7bbe !important;
			}
			.goog-te-gadget { font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif !important; }
			.goog-te-gadget-simple { font-size: .75em }
			.goog-te-gadget-simple .goog-te-menu-value { color: #fff !important; }
			
			.goog-te-gadget-simple .goog-te-menu-value span[style] { color: #fff !important; }
			

@media all and (min-width: 40em) {

	.TopLinks p.UserName {display: inline-block;}
}

@media all and (min-width: 60em) {
	
	.TopLinks { 
		position: relative;
		float: right;
		display: -webkit-box;display: -ms-flexbox;display: flex;
		text-align: right;
		margin-bottom:0;
		padding: 0.5em 1em;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		        align-items: center;
		}
		/*extend the dark blue background off the page*/
		.TopLinks:after {
			content: "";
			position: absolute;
			right: -10em;
			top: 0;
			height: 100%;
			width: 10em;
			background-color: #252771;
			}

		.TopLinks p.UserName {font-size: 1em;}
		
		.TopLinks a {font-size: 1em;}

	.LanguageToggle { 
		margin: 0.5em 0 0 0;
		float: right;
		-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;
		-ms-flex-item-align: stretch;-ms-grid-row-align: stretch;align-self: stretch;
		padding: 0;
		}		
		
}

@media all and (min-width: 80em) {

	.TopLinks {
		-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;
		height: 2.5625em;
		}

	.TopLinksUserArea {font-size: 1em;}	

	.LanguageToggle {
		margin: 0 0 0 1em;
		-ms-flex-item-align: center;-ms-grid-row-align: center;align-self: center;
		}
}


/* ------------------------------------------------------------------------ Nav (SmartMenus) - Original css is in Rough folder */

/* ------------------------------------------------- Mobile Core CSS (don't touch!) */

.sm{position:relative;z-index:9999;}
.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0);}
.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right;}
.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0;}
.sm ul{display:none;}
.sm li,.sm a{position:relative;}
.sm a{display:block;}
.sm a.disabled{cursor:not-allowed;}
.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden;}
.sm,.sm *,.sm *:before,.sm *:after{-webkit-box-sizing:border-box;box-sizing:border-box;}


/* ------------------------------------------------- Mobile Styling (adapted from Simple Theme) */
 
.sm-simple { }

.sm-simple a {
	padding: 1em;	
	padding-right: 3.625em; /* make room for the toggle button (sub indicator) */
	color: #fff;
	font-weight: normal;
	line-height: 1.2;
	text-decoration: none;
	outline: 0;
	}
	
	.sm-simple a:hover, .sm-simple a:focus, .sm-simple a:active, .sm-simple a.highlighted {
		/*color: #29a583;*/
	    color: #4ccaa7;
		}
	
	.sm-simple a.current {color: #4ccaa7;}
		
	.sm-simple a.disabled { 
		background: #666;
		color: #cccccc;
		}
		
		
.sm-simple a span.sub-arrow {
	position: absolute;
	top: 50%;
	margin-top: -17px;
	left: auto;
	right: 4px;
	width: 34px;
	height: 34px;
	overflow: hidden;
	font: bold 14px/34px monospace !important;
	text-align: center;
	text-shadow: none;
	background: rgba(0, 0, 0, 0.1);
	}	

	.sm-simple a.highlighted span.sub-arrow:before {
		display: block;
		content: '-';
		text-align: center;
		}
		
	
.sm-simple li { 
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	background-image: none;
	}

	.sm-simple > li:first-child,
		.sm-simple ul > li:first-child { border-top: 0; }

	.sm-simple > li > a {font-weight: 300;}
	

.sm-simple ul { background-color: #29a583; }
	
	.sm-simple ul a { font-size: .875em; }

	.sm-simple ul a:hover,
	.sm-simple ul a:focus,
	.sm-simple ul a.highlighted,
	.sm-simple ul a.current {background-color: #FFF;}

	.sm-simple ul li {border-top: 1px solid rgb(33, 140, 111);}

	.sm-simple ul ul { background-color: #259879;}
	

	
@media all and (max-width:60em) and (min-width:0em) { /*This adds a left indent on each level*/
	
	.sm-simple ul a { border-left: 8px solid transparent; }	
		.sm-simple ul ul a { border-left: 16px solid transparent; }		
			.sm-simple ul ul ul a { border-left: 24px solid transparent; }
				.sm-simple ul ul ul ul a { border-left: 32px solid transparent; }
					.sm-simple ul ul ul ul ul a { border-left: 40px solid transparent; }
		
}
	

@media all and (min-width: 60em) {
	
	/* ------------------------------------------------- Desktop Core CSS (don't touch!) */
	
	.sm-simple ul { position: absolute; width: 12em;}
	.sm-simple li { float: left; }
	.sm-simple.sm-rtl li { float: right; }
	.sm-simple ul li, .sm-simple.sm-rtl ul li, .sm-simple.sm-vertical li { float: none; }
	.sm-simple a { white-space: nowrap; }
	.sm-simple ul a, .sm-simple.sm-vertical a { white-space: normal; }
	.sm-simple .sm-nowrap > li > a, .sm-simple .sm-nowrap > li > :not(ul) a { white-space: nowrap; }
	
	
	/* ------------------------------------------------- Desktop Styling (adapted from Simple Theme) */
	 
	.MainNav {
		float: right;
		clear: right;
		/*margin-top: 1.5em;*/
		margin-top: 0.6em;
		}

	.sm-simple {background-color: transparent;}	
	
	.sm-simple a {
		padding: 1em;
		color: #fff;
		}
		
		.sm-simple a:hover, .sm-simple a:focus, .sm-simple a:active, .sm-simple a.highlighted {  }
	

	.sm-simple a.has-submenu { padding-right: 32px; }
	
		.sm-simple a span.sub-arrow {
			margin-top: -8px;
			right: 20px;
			width: 8px;
			height: 16px;
			font: 14px/16px monospace !important;
			background: transparent;
			}
		
			.sm-simple a.highlighted span.sub-arrow:before { display: none; }
			
			.sm-simple > li > a.has-submenu { padding-right: 0.5em; } /*top level - no sub-arrow*/
	
			.sm-simple > li > a span.sub-arrow { display: none; } /*top level - no sub-arrow*/

			.sm-simple > li {
				border-top: none;
				margin-left: 0.5em;
				}	

			.sm-simple > li > a {
				/*font-size: 1.375em;*/
				font-size: 1.15vw;
				padding: 0.5em;
				}
	

	.sm-simple ul { /*background: #29a583;*/}
	
		.sm-simple ul a.has-submenu { padding-left: 1.75em; }
		
		.sm-simple ul a span.sub-arrow {
			right: auto;
			margin-left: -12px;
			}

	
	.sm-simple span.scroll-up,
	.sm-simple span.scroll-down {
		position: absolute;
		display: none;
		visibility: hidden;
		overflow: hidden;
		background: #111;
		height: 2em;
		}
	
		.sm-simple span.scroll-up-arrow, .sm-simple span.scroll-down-arrow {
			position: absolute;
			top: .25em;
			left: 50%;
			margin-left: -8px;
			width: 0;
			height: 0;
			overflow: hidden;
			border-width: 8px;
			border-style: dashed dashed solid dashed;
			border-color: transparent transparent #fff transparent;
			}
			
		.sm-simple span.scroll-down-arrow {
			top: .875em;
			border-style: solid dashed dashed dashed;
			border-color: #fff transparent transparent transparent;
			}
			

}

@media all and (min-width: 65em) {

	.MainNav {
		/*margin-top: 1.3em;*/
		margin-top: 0.5em;
		}

}

@media all and (min-width: 75em) {
	
	.MainNav {
		/*margin-top: 1.2em;*/
		margin-top: 0.3em;
		}

	.sm-simple > li {
		margin-left: 1.5em;
		}
}

@media all and (min-width: 80em) {

	.MainNav {margin-top: 1.2em;}

}

@media all and (min-width: 90em) {

	.MainNav {margin-top: 1.5em;}
}

@media all and (min-width: 95em) {

	.sm-simple > li {
		margin-left: 1.25em;
		}
	.sm-simple > li > a {
		font-size: 1.2em;
		}
}


/* ------------------------------------------------- Mobile Menu/Hamburger Button */

.MainNavButton {
	padding:.75em 1em;
	background: #111;
	color: #fff;
	}

.main-menu-btn {
	font: 1.25em/1.4 'Source Sans Pro', Arial, Helvetica, sans-serif;	
	margin:0;
	position: relative;
	color: #FFF;
	/*display: inline-block;*/
	width: 100%;
	height: 28px;
	text-indent: 2em;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	/* hamburger icon */
	.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {
		position: absolute;
		top: 50%;
		left: 2px;
		height: 2px;
		width: 24px;
		background: #bbb;
		-webkit-transition: all 0.25s;
		transition: all 0.25s;
		}
		
		.main-menu-btn-icon:before {
			content: '';
			top: -7px;
			left: 0;
			}
		
		.main-menu-btn-icon:after {
			content: '';
			top: 7px;
			left: 0;
			}
		
		/* x icon */
		#main-menu-state:checked ~ .MainNavButton .main-menu-btn .main-menu-btn-icon {
			height: 0;
			background: transparent;
			}
			
		#main-menu-state:checked ~ .MainNavButton .main-menu-btn .main-menu-btn-icon:before {
			top: 0;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
			}
			
		#main-menu-state:checked ~ .MainNavButton .main-menu-btn .main-menu-btn-icon:after {
			top: 0;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			}
			
		/* hide menu state checkbox offscreen (so it stays visible to screen readers) */
		#main-menu-state {
			position: absolute;
			top: -99999px;
			}
			
		/* hide the menu in mobile view */
		#main-menu-state:not(:checked) ~ #main-menu { display: none; }
		
		#main-menu-state:checked ~ #main-menu { display: block; }
		

@media all and (min-width: 60em) {
	
.MainNavButton { display: none; }
	
	/* hide the button in desktop view */
	.main-menu-btn {
		position: absolute;
		top: -99999px;
		}
		
	/* always show the menu in desktop view */
	#main-menu-state:not(:checked) ~ #main-menu {
		display: block;
		}
	
}



/* =============================================================================================
	MAIN CONTENT AREA
============================================================================================= */

/* ------------------------------------------------------------------------ Layout */

main:focus { outline: none; }
	
	aside {
		position: relative;
		background-color: #181a46;
		padding: 1em 1em 3em 1em;
		}	

	article {
		background-color: #f6f6f6;
		}	
		
@media all and (min-width: 60em) {

	main {}			
		.Flex main {display: -webkit-box;display: -ms-flexbox;display: flex;}
	
	/*only use article when using asides*/
	article {
		float:left;
		width:70%;
		width: calc(100% - 18em);
		}
		
	aside {
		float:right;
		width: 18em;
		padding: 3em 1.5em 3em 1.5em;
		min-height: 50em;
		}

}

@media all and (min-width: 90em) {

	article {
		width: calc(100% - 24.1875em);
		}

	aside {
		width: 24.1875em;
		padding: 5.25em 2.35em 4em 2.35em;
		}

	section p,
	section li {
		font-size: 1.125em;
		line-height: 1.7;
		}
		section li {font-size: 1.125rem;}
}


/* ------------------------------------------------------------------------ Sections */

section {
	padding: 2em 0;
	background-color: #FFF;
	}

	section.Grey,
	.HeadingBlock + section {background-color: #f6f6f6; }


@media all and (min-width: 60em) {	

	section { padding: 4em 0; }

	section.P2,
	.HeadingBlock + section.P2 {padding: 2em 0;}

	section.P3,
	.HeadingBlock + section {padding: 3em 0;}

	section:last-of-type {
		padding-bottom: 5em;
	}


}


/* ------------------------------------------------------------------------ Banner */

.Banner {
	padding: 0;
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	text-align: center;
	}	

	.Banner .Wrapper {
		position: relative;
		max-width: 106.25em;
		}

	.BannerContent {
		padding: 4em 0;
		}

		.BannerContent h1 {
			padding-bottom: 0;
			color: #FFF;
			font-weight: 300;
			max-width: 100%;
			font-size: 2.4em;
			opacity: 0;
			-webkit-animation: fadein 1s ease-in-out 0.5s forwards;
			        animation: fadein 1s ease-in-out 0.5s forwards;
			}		
			.BannerContent h1 span {font-weight: 900}

		.BannerButtons {
			margin: 1em 0;
			opacity: 0;
			-webkit-animation: fadein 1s ease-in-out 1s forwards;
			        animation: fadein 1s ease-in-out 1s forwards;
			}
			.BannerButtons .Button {
				width: 70%;
				margin: 0.5em 0 0 0;
				font-size: 1.2em;
				}	

	.BannerMap {
		display: none;
		max-width: 29em;
    	margin: 0 auto;
    	opacity: 0;
    	-webkit-animation: fadeinslideleft 0.75s ease-in-out 1.5s forwards;
    	        animation: fadeinslideleft 0.75s ease-in-out 1.5s forwards;
		}	

		.BannerMap svg {
			width: 100%;
			height: 100%;
			}

			#MapLines path {fill: #45cda8;}
			#MapDots circle,
			#MapDots path {fill: #45cda8;}

			#MapPins path {
				fill: #FFF;
				-webkit-transform: scale(1.075);
				transform: scale(1.075);
				-moz-transform: scale(1.075);        
    			-webkit-transform-origin: center;
    			        transform-origin: center;
    			opacity: 0;
    			-webkit-animation: bannerpins 1s cubic-bezier(0.42, 0, 0.1, 0.99) 2s forwards;
    			        animation: bannerpins 1s cubic-bezier(0.42, 0, 0.1, 0.99) 2s forwards;
    			-moz-animation: bannerpins 1s cubic-bezier(0.42, 0, 0.1, 0.99) 2s forwards;
				}
				#MapPins #Canada {-webkit-animation-delay: 2.0s;animation-delay: 2.0s}
				#MapPins #USA {-webkit-animation-delay: 2.2s;animation-delay: 2.2s}
				#MapPins #Uruguay {-webkit-animation-delay: 2.4s;animation-delay: 2.4s}
				#MapPins #Denmark {-webkit-animation-delay: 2.6s;animation-delay: 2.6s}
				#MapPins #Netherlands {-webkit-animation-delay: 2.8s;animation-delay: 2.8s}
				#MapPins #Italy {-webkit-animation-delay: 3s;animation-delay: 3s}
				#MapPins #Switzerland {-webkit-animation-delay: 3.2s;animation-delay: 3.2s}
				#MapPins #Spain {-webkit-animation-delay: 3.4s;animation-delay: 3.4s}
				#MapPins #UK {-webkit-animation-delay: 3.6s;animation-delay: 3.6s}
				#MapPins #China {-webkit-animation-delay: 3.8s;animation-delay: 3.8s}
				#MapPins #Japan {-webkit-animation-delay: 4s;animation-delay: 4s}
				#MapPins #Australia {-webkit-animation-delay: 4.2s;animation-delay: 4.2s}

				#MapPins a {display: block;}
				#MapPins a:hover path {
					fill: #3087b5;
					}

				#MapPins a:hover {
					-webkit-transform-origin: center;
					        transform-origin: center;
					/*-webkit-transform: scale(1.05);
					        transform: scale(1.05);*/
					/*-webkit-transform: scale(1);
					        transform: scale(1);					        
					-moz-transform: scale(1);*/
					}	

			.MapPath {fill:#45CDA8;}
		
@media all and (min-width: 40em){

	.BannerButtons .Button + .Button {margin-left: 0;}

}

@media all and (min-width: 60em) {

	.Banner {
		margin-top: -1px; /*hide the flashing white line*/
		height: 0;
		padding-bottom: 36.1%;
		}

		.Banner .Wrapper {
			position: absolute;
		    top: 0;
		    left: 0;
		    right: 0;
		    height: 100%;

		    display: -webkit-box;

		    display: -ms-flexbox;

		    display: flex;
		    -ms-flex-line-pack: center;
		        align-content: center;
		    -webkit-box-align: center;
		        -ms-flex-align: center;
		            align-items: center;
		    -webkit-box-pack: justify;
		        -ms-flex-pack: justify;
		            justify-content: space-between;
			}
		.BannerContent {
			text-align: left;
			padding: 0 0 0 5%;
			}
		
		.BannerContent h1 {
			font-size: 4.75vw;
			}

		.BannerButtons .BannerButton {
			width: 100%;
			font-size: 1.3vw;
			margin: 1em 0 0 0;
			}	
			/*.BannerButtons .BannerButton:nth-child(2) {float: right;}*/

		.BannerMap {
			display: block;
		    max-width: 50%;
		    width: 50%;
		    margin: 0;
			}

}	

@media all and (min-width: 80em) {

	.BannerButtons .BannerButton {font-size: 1.1vw;}

}

@media all and (min-width: 85em) {

	.BannerButtons {margin-top: 2em;}

		.BannerButtons .BannerButton:nth-child(1) { width: 48%;}
		.BannerButtons .BannerButton:nth-child(2) { float: right; width: 48%;}
		.BannerButtons .BannerButton:nth-child(3) { display: block; width: 100%;}
		.BannerButtons .BannerButton.MemberButton {
			background-position-x: 11em !important;
		}

	
}

@media all and (min-width: 90em) {

	/*.BannerMap {width: auto;}*/

	.BannerContent h1 {font-size: 4.8vw;}

}

@media all and (min-width: 110em){

	.BannerContent h1 {
		font-size: 5.32875em;
		}
		
		.BannerButtons {margin-top: 3em;}

			.BannerButtons .BannerButton {
				font-size: 1.1em;
				}	

	.BannerMap {
		max-width: 60%;
		width: 877px;
		}		

}

/* ------------------------------------------------------------------------ IntroSection */

.IntroSection h2 {}

@media all and (min-width: 90em){

	section.IntroSection {
		padding: 6em 0 8em 0;
		}	

		.IntroSection h2 {
			padding-bottom: 0.7em;
			}

}

@media all and (min-width: 90em){
	
	.IntroSection h2 {
		font-size: 3.28125em;
		}		
}


/* ------------------------------------------------------------------------ Animations */

@keyframes fadein {
	0% {
		visibility: hidden;
		opacity: 0;
		}
	100% {
		visibility: visible;
		opacity: 1;
		}	
}	


@-webkit-keyframes fadeinslideleft {
	0% {
		visibility: hidden;
		opacity: 0;
		-webkit-transform: translateX(10%);
		        transform: translateX(10%);
		}
	100% {
		visibility: visible;
		opacity: 1;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		}	
}	


@keyframes fadeinslideleft {
	0% {
		visibility: hidden;
		opacity: 0;
		-webkit-transform: translateX(10%);
		        transform: translateX(10%);
		}
	100% {
		visibility: visible;
		opacity: 1;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		}	
}

@-webkit-keyframes bannerpins {
	0% {
		visibility: hidden;
		opacity: 0;
		/*-webkit-transform: scale(1.2) translateY(-50%);
		        transform: scale(1.2) translateY(-50%);*/
		-webkit-transform: scale(1.075) translateY(-50%);
		        transform: scale(1.075) translateY(-50%);
		}
	100% {
		visibility: visible;
		opacity: 1;
		/*-webkit-transform: scale(1.2) translateY(0);
		        transform: scale(1.2) translateY(0);*/
		-webkit-transform: scale(1.075) translateY(0);
		        transform: scale(1.075) translateY(0);
		}	
}

@keyframes bannerpins {
	0% {
		visibility: hidden;
		opacity: 0;
		/*-webkit-transform: scale(1.2) translateY(-50%);
		        transform: scale(1.2) translateY(-50%);*/
		-webkit-transform: scale(1.075) translateY(-50%);
		        transform: scale(1.075) translateY(-50%);
		}
	100% {
		visibility: visible;
		opacity: 1;
		/*-webkit-transform: scale(1.2) translateY(0);
		        transform: scale(1.2) translateY(0);*/
		-webkit-transform: scale(1.075) translateY(0);
		        transform: scale(1.075) translateY(0);
		}	
}		

@-moz-keyframes bannerpins {
	0% {
		visibility: hidden;
		opacity: 0;
		-moz-transform: scale(1.075) translateY(-50%);
		}
	100% {
		visibility: visible;
		opacity: 1;
		-moz-transform: scale(1.075) translateY(0);
		}	
}
			
/* ------------------------------------------------------------------------ Callouts */	

.CalloutGroup { margin: .5em 0 .5em 0; }
	
	.Callout a { 
		display: block;
		width: 100%;
		margin: 0 auto 1.5em auto;
		text-align:center;
		position: relative;
		background: #FFF;
		text-decoration: none;
		}
		/*for callouts that have no images*/
		.CalloutGroup.NoImages .Callout a {
		    margin-bottom: 0;
		    min-height: 5em;
		    border: 1px solid #c7c7c7;
		    /*margin-bottom: 1em;*/
		    display: -webkit-box;
		    display: -ms-flexbox;
		    display: flex;
		    -webkit-box-orient: vertical;
		    -webkit-box-direction: normal;
		        -ms-flex-direction: column;
		            flex-direction: column;
		    -webkit-box-pack: center;
		        -ms-flex-pack: center;
		            justify-content: center;
			}
		/*putting flex on callout div fixes ie11 bug*/
		.CalloutGroup.NoImages .Callout {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			        justify-content: center;
			}	

	.CalloutImage {
		}
		.CalloutImage svg {
			display: block;
			margin: 0 auto;
			width: 5em;
			height: 5em;
			stroke: #1C1E5A;
			stroke-width: 0.8;
			-webkit-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
			}

		.Callout:hover svg {
			-webkit-transform: scale(0.95);
			        transform: scale(0.95);
			opacity: 0.75
			}	
			.CalloutGroup.NoImages .Callout:hover a {background-color: transparent;}
		

    .CalloutText { 
    	margin-top: 1em;
		font: 600 1.5em/1.2 'Source Sans Pro', Arial, Helvetica, sans-serif;
		color: #1c1e5a;	
		}
		.CalloutGroup.NoImages .CalloutText {
			margin-top: 0;
			max-width: 95%;
    		margin: 0 auto;
    		}

		.CalloutText:after {
			content: "";
			display: inline-block;
			background: url(../../images/more-icon.svg) no-repeat center;
			background-size: 0.9em auto;
			width: 0.9em;
			height: 0.9em;
			margin-left: 0.5em;
			position: relative;
			top: 0.15em;
			-webkit-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
			}

		.Callout:hover .CalloutText:after {
			-webkit-transform: translateX(0.1em);
			        transform: translateX(0.1em);
			}	

@media all and (min-width: 50em) {

	.CalloutGroup.NoImages .Col-1-3 {
		margin-right: 0;
		width: 33.3333%;
		}
}

@media all and (min-width: 60em) {

	.HomeCalloutGroup {margin-top: 2em;}

	.CalloutImage svg {
		width: 7em;
		height: 7em;
		}

	.CalloutText {
		font-size: 1.65em;
		}

	.CalloutGroup.NoImages .Callout a { min-height: 12em;}	
		
}

@media all and (min-width: 95em) {

	.HomeCalloutGroup {margin-top: 5em;}

	.CalloutImage svg {
		width: 8em;
		height: 8em;
		}

	.CalloutText {
		font-size: 2.1875em;
		}	
		.CalloutText:after {
			background-size: inherit;
			}

	.Callout a {
		margin-bottom: 0;
		}

}	
		
/* ------------------------------------------------------------------------ InfoBox Modules */

/* ------------------------------------------------- Base Styles */

.InfoBox {	
	background: #eee;
	margin:.5em 0 2em 0;
	}	
	.InfoBox.Padded, .InfoBox .Padded { padding: 1.25em 1em .75em 1em; }
	
	.InfoBox > h2:first-child, .InfoBox > h3:first-child { padding-top: 0; }
		
	.Grey .InfoBox { background: #FFF; }

	.InfoBox h3 {color: #4e4e4e;}

@media all and (min-width: 60em) {

	.InfoBox.Padded, .InfoBox .Padded { padding: 1.25em 2em 1.25em 2em; }

}

@media all and (min-width: 90em) {
	.InfoBox h3 {
		font-size: 2em;
		}
}
	
	
/* ------------------------------------------------- Title Module  */	

.InfoBox h3.Header { 
	padding: 0;
	color: #fff;		
	background: #181a46;
	}				
	.InfoBox h3.Header a {
		color: #fff; 
		background: #2c4890;
		text-decoration: none;
		font-weight: normal;
		padding:.375em .625em;
		display: block;
		}
		.InfoBox h3.Header a:hover { 
			text-decoration: none;
			background: #111; 
			}
			
		.InfoBox h3.Header.NoLink { padding:.375em .625em; } /* If the title has no link in it */
			
@media all and (min-width: 40em) {	

	.InfoBox h3.Header a, .InfoBox h3.Header.NoLink { padding:.25em .625em; }
		
}


															
/* ------------------------------------------------- SideNav Module  */

.SideNav {	
	margin: 0;
	}	
	
	.SideNav h3 {
		color: #FFF;
		padding-top: 0;
		padding-bottom: 0.75em
		}	

	.SideNav ul {padding: 0;}

		.SideNav li {
			padding: 0;
			margin-bottom: 0.5em;
			background-image: none;
			}	

		.SideNav a {
			position: relative;
			display: block;
			color: #FFF;
			text-decoration: none;
			font-weight: 300;
			padding: 0.185em 0.5em 0.185em 2.5em;
			font-size: 1.1em;
			line-height: 1.6;
			}
			.SideNav li.Current > a,
			.SideNav a:hover,
			.SideNav a:focus {
				background-color: #FFF;
				color: #29a583;
				}
				.SideNav .NavContent ul ul li.Current > a {
					background-color: #f9f9f9;
					}	
				.SideNav .TabContent.GreenContent li.Current a,
				.SideNav .TabContent.GreenContent a:hover,
				.SideNav .TabContent.GreenContent a:focus {
					color: #29a583;
					}
				.SideNav .TabContent.BlueContent li.Current a,
				.SideNav .TabContent.BlueContent a:hover,
				.SideNav .TabContent.BlueContent a:focus {
					color: #3087b5;
					}	

	.SideNav svg {
		stroke: #FFF;
		stroke-width: 1.75;
		position: absolute;
	    left: 0.6em;
	    top: 0.55em;
	    
		-webkit-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
		}
		.SideNav .TabContent svg {
			top: 50%;
			-webkit-transform: translateY(-50%);
    		transform: translateY(-50%);
			}	
			
		.SideNav svg.MoreIcon {
			stroke-width: 2;
			}
			.SideNav svg .MoreArrow {stroke: none!important;}
		
		.SideNav svg.ListIcon {
			stroke-width: 1.4;
			}			

		.SideNav svg.TransferIcon {
			stroke-width: 1.3;
			-webkit-transform: scale(1.2) translateY(-40%);
			        transform: scale(1.2) translateY(-40%);
			}

		.SideNav li.Current a svg,
		.SideNav a:hover svg,
		.SideNav a:focus svg {stroke: #29a583;}

			.SideNav li.Current a svg .MoreArrow,
			.SideNav a:hover svg .MoreArrow,
			.SideNav a:focus svg .MoreArrow {
				fill: #29a583;
				stroke: none;
				}

		.SideNav .TabContent.GreenContent li.Current a svg,
		.SideNav .TabContent.GreenContent a:hover svg,
		.SideNav .TabContent.GreenContent a:focus svg {
			stroke: #29a583;
			}
		.SideNav .TabContent.BlueContent li.Current a svg,
		.SideNav .TabContent.BlueContent a:hover svg,
		.SideNav .TabContent.BlueContent a:focus svg {
			stroke: #3087b5;
			}

	/*sidenav level 2*/

	.SideNav ul ul {
		background-color: #259879;
		margin: 0;
		}		

		.SideNav ul ul li {margin-bottom: 0;}
		.SideNav ul ul li a {
			font-size: 1.1em;
		    border-bottom: 1px solid rgb(33, 140, 111);
		    padding: 0.3em 0.5em;
		    line-height: 1.6;
			}
			.SideNav ul ul li:last-child a {border-bottom: none;}



	/*Tabbed panels*/
	
	.TabbedPanels {}

	.Tabs {}	
		.Tabs a,
		.SideNav .Tabs a {
			position: relative;
			float: left;
			width: 50%;
			font-weight: 400;
			padding: 0.28em 1.5em 0.28em 0.75em;
			line-height: 1.6;
			}
			.Tabs a:after {
				content: "";
				position: absolute;
				right: 0.75em;
				top: 50%;
				-webkit-transform: translateY(-50%) rotate(-90deg);
				        transform: translateY(-50%) rotate(-90deg);
				background-image: url(../../images/arrow-down-icon-white.svg);
				background-repeat: no-repeat;
				background-position: 90% center;
				width: 11px;
				height: 9px;
				opacity: 0.5;
				-webkit-transition: all 0.15s ease-in-out;
				transition: all 0.15s ease-in-out;
				}
				.Tabs a.Active:after {
					opacity: 1;
					-webkit-transform: translateY(-50%) rotate(0);
					        transform: translateY(-50%) rotate(0);
					}
			.Tabs a:hover,
			.Tabs a:focus {
				color: #FFF;
				}
				.Tabs a:hover:after,
				.Tabs a:focus:after {opacity: 1}

			.Tabs a:focus {outline: none;}

			.Tabs a.DairyTab {background-color: #29a583}
			.Tabs a.BeefTab {background-color: #3087b5}

	.TabContent,
	.NavContent {
		padding: 1.25em 1em;
		background-color: #29a583;
		-webkit-transition: all 0.25s ease-in-out;
		transition: all 0.25s ease-in-out;
		}

		.TabContent.BlueContent {
			background-color: #3087b5;
			}
		.TabContent.GreenContent {
			background-color: #29a583;
			}	

		.TabContent1,
		.TabContent2 {
			display: none;
			}

.BackToTop {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;
	z-index: 1;
	-webkit-perspective: 500px;
	        perspective: 500px;
	}		
	.BackToTop a {
		color: #FFF;
		display: inline-block;
		background-color: #3087b5;
		text-transform: uppercase;
		text-decoration: none;
		padding: 0.375em 1em;
		-webkit-transform-origin: bottom center;
		        transform-origin: bottom center;
		font-size: 0.9em;
		}
		.BackToTop a:before{
			content: "";
			display: inline-block;
			background: url(../../images/arrow-down-icon-white.svg) no-repeat 0.2em center;
			-webkit-transform: rotate(180deg);
			        transform: rotate(180deg);
		    width: 0.9em;
		    height: 0.9em;
		    position: relative;
		    top: 0.15em;
		    margin-right: 0.75em;
			}

	.BackToTop a:hover {
		-webkit-transform: rotateX(25deg);
		        transform: rotateX(25deg);
		background-color: #2d7ca7;
		}

@media all and (min-width: 60em) {

	/*when the sidenav content gets too large, add scrollbars*/
	 .NavContent {
		max-height: 90vh;
    	overflow-y: auto;
		}

	.BackToTop.hasScrolled {
		position: fixed;
		left: auto;
		right: 4.75em;
		-webkit-animation: fadein 0.5s ease-in-out forwards;
		        animation: fadein 0.5s ease-in-out forwards;
		}	
}

@media all and (min-width: 90em) {

	.SideNav {}

	.Tabs a,
	.SideNav .Tabs a {font-size:1.3125em;}

	.SideNav a {
		font-size: 1.375em;
		line-height: 1.3;
		padding: 0.30em 0.5em 0.4em 2.25em;
		}

	.BackToTop.hasScrolled {right: 7.25em;}
		.BackToTop a {font-size: 1em;}
}

/* ------------------------------------------------- Accordions Module */

.InfoBox .Accordion { 
	margin: 0;
	padding:0;
	overflow:hidden;	
	list-style: none; 
	}		
	.InfoBox .Accordion dt { 
		margin:0; 
		padding: 0;
		border-bottom:1px solid #fff;
		position:relative;			
		}
			
		.InfoBox .Accordion dt a {  		
			display: block;
			width: 100%;
			padding: .875em 3em .875em 1.5em;
			font-weight: normal;
			text-decoration:none;
			color: #FFF;
			background-color: #3087b5;
			-webkit-transition: background-color 0.5s;
			transition: background-color 0.5s;
			}

			.InfoBox .Accordion dt a:after {
				content: "";
				position: absolute;
				right: 0.75em;
				top: 50%;
				-webkit-transform: translateY(-50%) rotate(-90deg);
				        transform: translateY(-50%) rotate(-90deg);
				background-image: url(../../images/arrow-down-icon-white.svg);
				background-repeat: no-repeat;
				background-position: 90% center;
				width: 11px;
				height: 9px;
				opacity: 0.5;
				-webkit-transition: all 0.15s ease-in-out;
				transition: all 0.15s ease-in-out;
				}
				.InfoBox .Accordion dt.Active a:after {
					opacity: 1;
					-webkit-transform: translateY(-50%) rotate(0);
					        transform: translateY(-50%) rotate(0);
					}

			.InfoBox .Accordion dt a:hover { 
				/*background-color: #f8f8f8; */
				text-decoration:underline; 
				}
				.InfoBox .Accordion dt a:hover:after {
					opacity: 1;
					}
				.Grey .InfoBox .Accordion dt a:hover { background-color: #fff; }
				
				.InfoBox .Accordion dt.Active a { 
					color: #fff;
					font-weight:bold;
					background-color: #3087b5;
					}
					.InfoBox .Accordion dt.Act a:hover:after
					.Grey .InfoBox .Accordion dt.Active a:hover { background-color: #2c4890; }
					.InfoBox .Accordion dt.Active a:focus { outline: none; } 
				
.InfoBox .Accordion dd {		
	margin: 0 ;
	padding:  1em 1.5em .75em 1.5em ;
	display: block;
	border-bottom:1px solid #fff;
	background: #f8f8f8;
	}
	.Grey .InfoBox .Accordion dd { background-color: #fff; }

	.InfoBox .Accordion dd a {cursor: pointer;}
			
@media all and (min-width: 60em) {

	.InfoBox .Accordion dt a {font-size: 1.125em;}

}
/* ------------------------------------------------------------------------ Inline Modals */

.InlineModal,
.fancybox-slide .InlineModal {
	display: none;
	padding: 2em 1em 1em 1em;
	max-width: 60em;
	}

	.InlineModal a { outline: none; }		

@media all and (min-width: 90em) {

	.InlineModal,
	.fancybox-slide .InlineModal {padding: 2em;}

		.InlineModal p,
		.InlineModal li {
			font-size: 1.125rem;
			line-height: 1.7;
			}
}

	

/* ------------------------------------------------------------------------ More Options (Links/text beside headings) */

.MoreOptions {
	float: right;
    margin-top: -2.75em;
	}

	.MoreOptions.SearchOptions,
	.MoreOptions.MembershipOptions {
		float: none;
		margin-top: 0;
		}

	.HelpIcon {
		display: inline-block;
		line-height: 1.2;
		width: 1.25em; 
		height: 1.25em;
		background-color: #29a583;
		border-radius: 50%;
		color: #FFF;
		font-size: 1.25em;
		text-align: center;
		text-decoration: none;
		}	
		.HelpIcon:hover {background-color: #000}

.AlertIcon {
	display: inline-block;
	line-height: 1.2;
	width: 1.25em;
	height: 1.25em;
	background-color: #b5304f;
	border-radius: 50%;
	color: #FFF;
	font-size: 1.25em;
	text-align: center;
	text-decoration: none;
}

	.AlertIcon:hover {
		background-color: #000
	}
/*
    .AlertIcon::before {
    	content: '';
        display: inline-block;
        line-height: 1.2;
        width: 1.25em;
        height: 1.25em;
        background-color: #b5304f;
        border-radius: 50%;
        color: #FFF;
	position: absolute;
	left: 29%;
        font-size: 1.25em;
        text-align: center;
        text-decoration: none;
    }
    
    @media(max-width: 800px) {
        .AlertIcon::before {
    		left: 39%;	
	}
    }

    @media(max-width: 650px) {
        .AlertIcon::before {
    		left: 36%;	
	}
    }

    @media(max-width: 460px) {
        .AlertIcon::before {
    		left: 30%;	
	}
    }

        .AlertIcon:hover:before {
            background-color: #000
        }
	*/

@media all and (min-width: 60em) {

	.MoreOptions.MembershipOptions {
		float: right;
		margin-top: -4em;
		}
}

@media all and (min-width: 75em) {

	.MoreOptions,
	.MoreOptions.SearchOptions {
		float: right;
		margin-top: -4em;
		}
		.MoreOptions .Button {margin: 0;}

	.HelpIcon {
		font-size: 1.5em;
		line-height: 1.25;
		}	
}

.membership__checkboxes {
	display: flex;
	align-content: space-between;
}

.membership__checkboxes div {
	width: 100%;
}

.membership__checkboxes .text-center {
	text-align: center;
}

.membership__checkboxes .text-right {
	text-align: right;
}

@media all and (max-width: 48em) {
	
	.membership__checkboxes {
		align-content:flex-start;
	}
	
	.membership__checkboxes div {
		display: inline-block;
	}
	
	.membership__checkboxes .text-center, .membership__checkboxes .text-right {
	text-align: left;
	}

}

@media all and (max-width: 36em) {
	
	.membership__checkboxes {
		display: block;
	}
	
	.membership__checkboxes div {
		display: block;
	}

}


/* ------------------------------------------------------------------------ Import Page*/

.ImportControl {}
	
	.ImportControl .ImportColumn{
		float: left;
		width: 33%;
		}	

	.ImportControl .ImportBar {
		background-color: #FFF;
		border: 0.13em solid #c5c6d1;
		border-right: none;
		border-left: none;
		}
		.ImportBar.Complete {background-color: #3087b5;}
		.ImportColumn:nth-child(3) .ImportBar {border-right: 0.13em solid #c5c6d1}
		.ImportColumn:nth-child(1) .ImportBar {border-left: 0.13em solid #c5c6d1}



/* ------------------------------------------------------------------------ Membership Map*/

#map {
    width: 100%;
    height: 400px;
	}		

.MemberLegend {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-ms-flex-line-pack: center;
	    align-content: center;
	}
	.MemberLegend img {
		margin-right: 0.5em;
		vertical-align: middle;
		}	

	.MemberLegendPins {
		text-align: left;
		}	

.AccordionLegend {
	position: relative;
	display: inline-block;
	background-color: #FFF;
	width: 1.75em;
	height: 1.75em;
	margin-right: 0.75em;
	border-radius: 50%;
	text-align: center;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50% auto;
	}	
	.AccordionLegend.NAABMember {
		background-image: url(../../images/pin-icon-blue.svg);
		}
	.AccordionLegend.AssociateMember {
		background-image: url(../../images/pin-icon-lightblue.svg);
		}	
	.AccordionLegend.CSSMember {
		background-image: url(../../images/pin-icon-green.svg);
		}
	
	.MoreOptions .MemberOptionBlock {
		padding-bottom: 0.5em
		}

@media all and (min-width: 60em) {
	#map {height: 500px;}

	.MemberResultsRow {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		}

	.MemberLegend {
		min-height: 12em;
		height: 100%;
		}

	.MoreOptions .MemberOptionBlock {
		padding-bottom: 0;
		display: inline-block;
		margin-left: 1em;
		}	
}

@media all and (min-width: 90em) {
	#map {height: 600px;}
}


/* ------------------------------------------------------------------------ Staffing Page*/

.TeamBio figure {background-color: #FFF}	
	.TeamBioName {
		text-align: center;
		font-size: 1.5em;
		line-height: 1.2;
		padding-bottom: 0.5em
		}
	.TeamBioRole {
		font-size: 0.8em;
		font-style: italic;
		color: #6f6f6f;
		}
	.TeamBio p:last-of-type {
		padding-bottom: 0;
		text-align: center;
		}	

@media all and (min-width: 50em) {

	.TeamBio {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		}
		.TeamBio .Col-1-3 {display: -webkit-box;display: -ms-flexbox;display: flex;}

		.TeamBio figure {
			min-height: 37em;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
    		-webkit-box-orient: vertical;
    		-webkit-box-direction: normal;
    		    -ms-flex-direction: column;
    		        flex-direction: column;
			}
			
			.TeamBio figure img {margin-bottom: 1em;}

			.TeamBio figcaption {
				-webkit-box-flex: 1;
				    -ms-flex: 1;
				        flex: 1;
			    display: -webkit-box;
			    display: -ms-flexbox;
			    display: flex;
			    -webkit-box-orient: vertical;
			    -webkit-box-direction: normal;
			        -ms-flex-direction: column;
			            flex-direction: column;
				}
				.TeamBio p:last-of-type {margin-top: auto;}
}	

@media all and (min-width: 70em) {

	.TeamBio figure {
		min-height: 25em;
		}
}	

/* ------------------------------------------------------------------------ Become a member*/

#signature {
	border: 1px dotted #000;
	background-color: #FFF;
}

/* ------------------------------------------------------------------------ Contact Page*/

.ContactLabel {
	font-weight: 700;
	}	

@media all and (min-width: 60em) {
	.ContactDetails {
		}
}

@media all and (min-width: 90em) {
	.ContactDetails {
		-webkit-transform: translateX(-6em);
		        transform: translateX(-6em);
		}	

	.ContactLabel {
		display: inline-block;
		width: 3.0em
		}
}

/* ------------------------------------------------------------------------ Evaluations Pages */

.SearchBox label {line-height: 1.4;}

@media all and (min-width: 50em) {

	.SearchBoxRow {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin: 0 0 1em 0;
		}
		.SearchBoxRow:last-of-type {margin-bottom: 0;}

	.SearchBox {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		height: 100%;
		/*justify-content: space-between*/
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		}
		.SearchBox .ButtonContainer {
			/*margin-top: auto;*/
			padding-top: 1.5em;
			}

			.SearchBox .Button {margin-top: 0;}	

		.SearchBox h3 {
			padding-bottom: 0.7em;
			/*padding-bottom: 0;*/
			}		

}

@media all and (min-width: 90em) {

	.SearchBox.Padded {
		padding: 2em;
		}

	.SearchBoxRow {
		margin-bottom: 2em;
		}	

}
	
/* ------------------------------------------------------------------------ Bar Chart */

.bar-chart {
	display: flex;
	flex-direction: row;
	min-width: 120px;
}

.bar-chart-left-container {
	position:relative;
	background: #efefef;
	width: 50%;
	display: flex;
	height: 2em;
}

.bar-chart-right-container {
	position:relative; 
	background: #efefef;
	width: 50%;
	display: block;
	height: 2em;
	flex: 0 1 auto;
}

.bar-left {
	position: absolute;
	right: 0;
	background: #29a583;
	min-height: 1em;
	height: 100%;
}

.bar-right {
	position: absolute;
	left: 0;
	background: #29a583;
	min-height: 1em;
	height: 100%;
}

/* ------------------------------------------------------------------------ Tables */

table {
    border-collapse: collapse;
    border-spacing: 0;
	border:none; 
	width:100%;	
	margin: 0 0 1em 0;
	overflow:auto;
	}	
	table[style] {width:100% !important; }

	table.ExtraSmallTable {font-size: 0.75em;}
	
	tr {
		background: #fff;
		border: none;
		border-bottom:2px solid #c5c6d1;
		transition: background-color 0.25s ease-in-out;
		-webkit-transition: background-color 0.25s ease-in-out
		}		
		tr.thead {border-bottom: 3px solid #181a46;}

		tr:hover:not(thead):not(.Pager) {
			background-color: #f1f1f1;
			}
	
	th, td {
		text-align: left;
		vertical-align: middle;
		}	
		table.HasBorders th, table.HasBorders td {border-right: 2px solid #c5c6d1;}
			table.HasBorders th:last-of-type, table.HasBorders td:last-of-type {border-right: none;}
			
		th {
			background: #FFF;
			color: #151744;
			font-weight:bold;
			font-size: 0.9em;	
			border: none;
			padding: .3em 0.5em 0.3em 0.5em ;
			/*text-align: center;*/
			text-align: left;
    		line-height: 1.3;
			}
			table.OnGrey th,
			section.Grey table th,
			.HeadingBlock + section table th {padding: 0.5em;}

			th a {
				color: #151744;
				text-decoration: none;
				}
				th a:hover {text-decoration: underline;}

			td {
				border: none;
				font-size: 0.813em;	
				padding: 0.75em 0.5em;
				}
				td a {
					text-transform: uppercase;
					text-decoration: none;
					}
					td a:hover {text-decoration: underline;}
					td a + a {padding-left: 1em}

		.Highlight {
			background-color: #e2e2e2
			}

	/*sorting arrows*/
	td.SortAscending a,
	th.SortAscending a,
	th.SortDescending a,
	td.SortDescending a {
		position: relative;
		display: block;
		text-decoration: underline;
		}
	th.SortAscending a:after,
	th.SortDescending a:after {
		content: "";
	    display: inline-block;
	    float: right;
	    width: 0.6em;
	    height: 0.6em;
	    position: relative;
    	top: 0.7em;
		}

		th.SortDescending a:after {
			background: url(../../images/arrow-down-icon-blue.svg) no-repeat;
			}

		th.SortAscending a:after {
			background: url(../../images/arrow-down-icon-blue.svg) no-repeat;
			transform: rotate(-180deg);
			-webkit-transform: rotate(-180deg);
			}
		

/*table pager*/
.Pager,
tr.Pager {
	background-color: transparent;
	border: none;
	}

	.Pager td {
		text-align: right;
		}			

		.Pager a {
			text-decoration: none;
			color: #3087b5;
			padding: 0 0.25em;
			font-weight: 400;
			}

	.Pager span {padding: 0 0.25em;}
		/*Pages label*/
		.Pager span:nth-child(1) {font-style: italic;}
		/*Current page*/
		.Pager span:nth-child(2) {
			color: #3087b5;
			font-weight: 700;
			}	

.thead th {white-space: normal!important;}				

.TableColorLegend {
	display: inline-block;
	vertical-align: top;
	width: 2em;
	height: 1.9em;
	margin-right: 0.2em;
	background-color: #ffb;
	border: 1px solid #404040;
	}
.TableColorLegend2 {
	display: inline-block;
	vertical-align: top;
	width: 2em;
	height: 1.9em;
	margin-right: 0.2em;
	background-color: #FBCEB1;
	border: 1px solid #404040;
}

.SearchCounter {
	font-style: italic;
	}	

/*NAAB Uniform codes*/
tr.PrimaryCode {
	border-left: 10px solid #b5304f;
	}	
	tr.PrimaryCode td:before {
		content: "Primary";
    	color: #b5304f;
    	display: inline-block;
    	float: left;
    	margin-right: 1em;
    	font-weight: 600
		}

tr.SecondaryCode {
	border-left: 10px solid #29a583;
	}	
	tr.SecondaryCode td:before {
		content: "Secondary";
    	color: #29a583;
    	display: inline-block;
    	float: left;
    	margin-right: 1em;
    	font-weight: 600
		}		

	/*the gray block when reorganizing table rows*/
	tr.placeholder {
		background-color: #ddd;
		height: 4em;
		}	

	#span_target {
		font-size: 1em;
		font-style: italic;
		padding-top: 0.5em;
		}	

	/*Dairy Cross Table in evaluations section*/
	.DairyCrossReferenceTable tr td:first-child { }
	
	.DairyCrossReferenceTable td {
		padding: 0.5em 0.9em;
		border: solid 1px #fff;
	}

	.DairyCrossReferenceTable tr {
		border-bottom: 1px solid #ddd;
	}

	.DairyCrossReferenceTable tr th {
		background: #181a46;
		color: #fff;
		font-size: 1.15em;
		text-transform: uppercase;
    padding: 6px 1em 6px 1em;
	}

	.DairyCrossReferenceTable tr td:nth-child(odd) {
		background: #ddd;
		color: #333;
	}

	.DairyCrossReferenceTable tr td:nth-child(even) {
		background: #eee;
		color: #333;
		font-weight: normal;
	}

	.marketing__codes {
		background: #ededed;
		padding: 1em 2em;
		border: solid 1px #ddd;
		border-bottom: solid 3px #ddd;
	}

	.DairyCrossReferenceTable tr td {
		font-size: 1em;
	}

	.DairyCrossReferenceTable.BarChart td:first-child {
		width: 40%;
	}
	
	.DairyCrossReferenceTable.BarChart td:first-child strong {	
		white-space: nowrap;
	}
	.DairyCrossReferenceTable.BarChart td:nth-child(3n) {
		padding: 0;
		background: #eee;
	}

	.DairyCrossReferenceTable.BarChart .legend {
		background: none;
		border: 0;
	}

	.DairyCrossReferenceTable.BarChart .legend td {
		background: none;
		border: 0;
	}

	.DairyCrossReferenceTable.BarChart td {
		font-size: 0.9em;
	}

	.DairyCrossReferenceTable.BarChart td {
    	padding: 0.3em 0.9em;
	}

	.legend__low {
		position: absolute;
		left: 2%;
		top: 0;
	}

	.legend__medium {
		position: absolute;
		left: 49%;
		top: 0;
	}

	.legend__high {
		position: absolute;
		right: 2%;
		top: 0;
	}

	td.table-space-right span {
		margin-right: 0.5em;
	}

	td.table-space-right span:last-child {
		margin-right: 0
	}

	/*Sire Evaluation Table in evaluations section*/
	.SireEvaluationTable tr th:first-child {width: 20%;}
	.SireEvaluationTable tr th:nth-child(2) {width: 20%;}
	.SireEvaluationTable tr th:nth-child(3){width: 20%;}

	.CrossReferenceCalendarTable tr td:first-child {
		font-weight: 600;
		}


@media(max-width: 767px) {
.DairyCrossReferenceTable tr td {
	white-space: nowrap;
}
}

@media all and (min-width: 60em) {

	.TableColorLegend {width: 3em;}
	.TableColorLegend2 { width: 3em; }

	/*cross reference table*/
	.CrossReferenceCalendarTable tr td:first-child {
		width: 40%;
		}

}

@media all and (min-width: 75em) {
	
	table.SmallTable {font-size: 0.9em;}	

	th {
		font-size: 1.0em;
		padding: .45em 0.8em 0.45em 0.8em;
		line-height: 1.6
		}
		table.OnGrey th,
		section.Grey table th,
		.HeadingBlock + section table th {padding: 0.75em 0.8em 0.75em 0.8em;}

		table.SmallTable th {line-height: 1.3}
		table.ExtraSmallTable th {padding: 0 0.5em 0.5em 0.5em;}

	td {
		padding: 0.75em 0.8em;
		font-size: 1.0em;
		}
		table.ExtraSmallTable td {padding: 0.5em 0.5em;}

		
}	

@media all and (min-width: 90em) {

	th {
		font-size: 1.25em;
		padding: 0 1em 0.75em 1em;
		}
		table.OnGrey th {padding: 0.75em 1em 0.75em 1em;}

	td {
		padding: 0.85em 1em;
		font-size: 1.125em;
		}

	.Pager td {
		font-size: 1.1875em;
		padding: 0;
		}		

	tr.Pager:first-of-type {-webkit-transform: translateY(-2em);transform: translateY(-2em);}
	tr.Pager:last-of-type td {padding-top: 1em;}

	.SearchCounter {font-size: 1.1875em;}	
}
			

/* ------------------------------------------------- Basic Table Responsive Tables */

@media all and (max-width:60em) and (min-width:0) {
	
	.TableWrapper {
		margin: .5em 0 1em 0;
		overflow: hidden;
		-webkit-overflow-scrolling: auto;
		}
		.TableWrapper table { margin: 0; }

		h3 + .TableWrapper {margin-top: 0;}
		
}


.base-eval {
    padding: 0;
    margin: 1rem 0;
}

@media(min-width: 1200px) {
.respond .center-second tbody tr td:nth-of-type(2) {
/*	padding-right: 14%;
	text-align: right;*/
}
.respond .center-second-lg tbody tr td:nth-of-type(2) {
/*	padding-right: 28%; 
	text-align: right;*/
}
}


/* ------------------------------------------------------------------------ Forms */
	
hr.Form { margin-top: 2.5em; }

.Error, .Error[style], .Required {
	color: #e7004c !important;
	font-size: 1.0em;
	font-weight:bold;
	}

fieldset { 
	padding: 0;
	margin: 0;
	border:0;
	}
	
	legend {
		padding:0;
		}
		
	.RadioCheckBox { 
		background: #f1f1f1;
		padding: 1em;
		}	
		.RadioCheckBox.White {background-color: #FFF}	
	
	.Other {margin: 0 0 .5em 1.5em; }

	.RadioTable {width: auto; }
	
		.RadioTable td {
			padding: 0;
			border: none;
			font-size: 1em;
			}
	
label,
p.Label {
	display:block; 
	margin: 0.75em 0 0.25em 0;
	color: #151744;
	font-weight: 600;
	}	
	p.Label {padding: 0;}
	p.Label.MT0 {margin-top: 0;}

	label.RadioCheck, .RadioTable td label {
		display:inline-block; 
		margin: 0 0 0.5em 0;
		width:85%;	
		line-height: 1.4;
		}
		label.RadioCheckInline {
			display:inline; 
			/*margin: 0 0 0.5em 0;*/
			line-height: 1.0;
			}
			label.RadioCheckInline + input[type="radio"] {margin-left: 1em;}

		.RadioTable td label {
			margin-left: .25em; 
			width: auto;
			}
			
		label.RadioCheck.Last {margin-bottom:0; }
	
input, select, textarea {
	border: 0.13em solid #cecece;
	font-size:0.875em;
	font: normal 0.875em/1.6 'Source Sans Pro', Arial, Helvetica, sans-serif; 
	color: #151744;
	width: 100%;
	padding: .5em .75em; 
	background: #fff;	
	border-radius: 0;	
		
	-webkit-transition: all 0.25s;	
		transition: all 0.25s;
	}	
	input[type="text"], select {height: 38px;}

	select {padding: .3em .75em;}
								
	input[type="checkbox"], input[type="radio"], input[type="image"] {
		height: auto;
		width:auto;
		padding: 0;
		background:transparent;
		vertical-align:top;
		margin-top:.375em;
		}
			
	textarea { 
		height: 10em; 
		width:100%;
		display: block;
		}
		textarea.Description { height: 20em; }

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #c5c5c5;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #c5c5c5;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #c5c5c5;
}
:-moz-placeholder { /* Firefox 18- */
  color: #c5c5c5;
}		

.InlineElement {
	display: inline-block;
	}
	.InlineElement + .InlineElement {margin-left: 1em;}

	.InlineElementNoBlock {
		display: inline;
		padding-right:0.25em;
		}

	.InlineElementNoBlock.White {background-color: #FFF}	

.SearchLabel { width: 200px; display: inline-block }		

.DateRange { }
    .DateRange input {
    	width: 47%;
    	/*float: left;*/
    	}

/*for three inputs side by side*/
.TripleInput {}
	.TripleInput input {
		float: left;
		width: 33.333333%;
		}
		.TripleInput input + input {border-left-width: 0}

/*for two inputs side by side*/
.DoubleInput {}
	.DoubleInput input {
		float: left;
		width: 50%;
		}
		.DoubleInput input + input {border-left-width: 0}		


.FunctionMessage {
    padding: 10px;
    border: 1px solid #f00;
    color: #f00;
    margin-bottom: 10px;
    font-weight: bold;
	}	


.datepicker {background: #FFF url(../../images/calendar-icon.svg) no-repeat right 1em center / 1.5em auto;}		


/*for screen readers - hidden labels*/
.Context {
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden
	}

.Aligner {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media all and (max-width: 50em) {
	.Aligner {
		display: block;
	}
}

@media all and (max-width:50em) and (min-width:40em) {
	
	label.RadioCheck, .RadioTable td label { width:75%;	}
	
}
			
@media all and (max-width:64em) and (min-width:0) {
	
	input[type="text"], input[type="submit"], textarea { -webkit-appearance: none; }
	
}

@media all and (min-width: 60em) {

	.DateRangeTo {padding-top: 0.25em;}	

	label,
	p.Label {margin: 1.125em 0 0.25em 0;}

}

@media all and (min-width: 90em) {

	label,
	p.Label {font-size: 1.1875em;}

}

@media(max-width: 767px) {
	.respond::-webkit-scrollbar-track
	{
		-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
		border-radius: 10px;
		background-color: #F5F5F5;
	}

	.d-flex {
		display: flex;
	}
	
	.d-flex span {
		margin: auto !important;
		font-size: 12px;
	}

	.respond::-webkit-scrollbar
	{
		width: 10px;
		height: 10px;
		background-color: #F5F5F5;
	}

	.respond::-webkit-scrollbar-thumb
	{
		border-radius: 10px;
		-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
		background-color: #555;
	}

	.BarChart--height {
	padding-bottom: 20px;
	}
	
	.DairyCrossReferenceTable td {
		padding: 0.2em 0.9em;
	}
	
	.DairyCrossReferenceTable tr th {
		font-size: 12px;
		    padding: .1em 0.5em;	
	}
	
	..DairyCrossReferenceTable tr {
	
		border: none !important;
	}
	
	.DairyCrossReferenceTable .HeadingBlock + section table th {
	    padding: 0.2em .5em;
	}	
	
	.mt-1rem {
		margin-top: 1rem;
	}
	
	.DairyCrossReferenceTable tr td, .DairyCrossReferenceTable.BarChart td {
		white-space: initial;
		font-size: 10px;
	}
	
	.DairyCrossReferenceTable.BarChart td {
		white-space: no-wrap;
	}

	.respond table {
	width: 99.9%;
	}
}
			

/* =============================================================================================
	FOOTER
============================================================================================= */

.PrintFooter { display:none; }

footer { }

	footer .Wrapper {
		max-width: 106.25em;
		padding: 2.5em 0 4em 0;
		}

	footer p {}
	
	footer a { 
		text-decoration:none; 
		}
		footer a:hover { text-decoration:underline; }
		

	.RKD {
		width: 99px; 
		height: 18px;
		background-size:100%;
		margin-top:1em;
		display:inline-block;
		}

	.Copyright {font-weight: 300}	

	.FooterLabel {
		font-weight: 700;
		}	

	.FooterLogos img {
		max-width: 5em;
		max-height: 3.25em;
		}	
		.FooterLogos img:nth-child(2) {
			margin-left: 1em;
			}
			
	
@media all and (min-width: 60em) {
	
	footer {
		-webkit-transform: translateY(-3px);
		        transform: translateY(-3px);
		}

	footer .Wrapper {
		padding: 7em 0 7em 0;
		border-top: 3px solid #151744;
		}

	.FooterDetails {
		}	
	
	.Copyright {
		text-align:right;
		font-size: 1em;
		}	
	
	.RKD { float: right; }	

	.FooterLogos {
		text-align: right;
		padding: 0 0 0.8em 0;
		margin-top: -1em;
		}	

	.FooterLogos img:nth-child(2) {
		margin-left: 2em;
		}

	.FooterLinks {margin-top: 3.25em;}
		.FooterLinks .More {font-size: 1em;}	
		
}

@media all and (min-width: 70em) {

	.FooterLogos img {
		max-width: 6em;
		max-height: 3.9em;
		}
		.FooterLogos img:nth-child(2) {
			margin-left: 4em;
			}	
}

@media all and (min-width: 90em) {

 	footer p {
		font-size: 1.25em;
		line-height: 1.8;
		}

	.FooterDetails {
		/*-webkit-transform: translateX(-6em);
		        transform: translateX(-6em);*/
		}	

	.FooterLinks {margin-top: 4.5em;}	

	.FooterLabel {
		display: inline-block;
		width: 3.0em;
		}

}


/* =============================================================================================
	ONE-OFF ALIGNMENT, MARGIN AND PADDING STYLES - CAN BE USED ON ANYTHING
============================================================================================= */

.AlignL {text-align:left; }
.AlignC {text-align:center; }
.AlignR {text-align:right; }

.MT1, .MT2, .MT3 { margin-top: 1em; }

.MB1, .MB2, .MB3 { margin-bottom: 1em; }

.MT0 { margin-top: 0; }
.MB0 { margin-bottom: 0; }

.PT1, .PT2, .PT3 { padding-top: 1em; }

.PT025 {padding-top: 0.25em;}

.PB1, .PB2, .PB3 { padding-bottom: 1em; }

.PB05 {padding-bottom: 0.5em}

.PT0 { padding-top: 0; }
.PB0 { padding-bottom: 0; }

.Show {display: block;}
.Hide {display: none;}		

/*Loading screen*/
.Loading {
	display: none;
	background-color: rgba(0, 0, 0, 0.12);
	position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
	}
	
	.Loading .Loader {
		border: 10px solid #FFF; /* Light grey */
	    border-top: 10px solid #3498db; /* Blue */
	    border-radius: 50%;
	    width: 10em;
	    height: 10em;
	    position: absolute;
	    left: 50%;
	    top: 50%;
	    margin: -5em 0 0 -5em;
	    -webkit-transition: all 0.25s ease-in-out;
	    transition: all 0.25s ease-in-out;
   		/*font-size: 2em;*/
		}
	.Loading span {
		font-size: 2em;
		}	

	.Loading.Show {display: block;}
		.Loading.Show .Loader {
			-webkit-animation: fadein 0.5s linear forwards, spin 2s linear infinite;
			        animation: fadein 0.5s linear forwards, spin 2s linear infinite;
			}

	.Loading.Hide {display: none;}	
	

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}	
	

@keyframes spin {
    0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@-webkit-keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}

@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}


@media all and (min-width: 50em) {

	.FloatL {float: left;}
	.FloatR {float: right;}

	.MT0-Desktop {margin-top: 0;}
	.AlignR-Desktop {text-align: right;}

}

@media all and (min-width: 60em) {

	.MB0-Desktop {margin-bottom: 0;}

	.MT1-Desktop {margin-top: 1em;}

	.MT2 { margin-top: 2em; }
	.MT3 { margin-top: 3em; }
	
	.MB2 { margin-bottom: 2em; }
	.MB3 { margin-bottom: 3em; }
	
	.PT2 { padding-top: 2em; }
	.PT3 { padding-top: 3em; }
	
	.PB2 { padding-bottom: 2em; }
	.PB3 { padding-bottom: 3em; }

}

@media all and (max-width: 60em) {
	.PT0-Mobile {padding-top: 0;}
}



.shortname-sire {
	font-weight: bold;
}

.DairyCrossReferenceTable tr td:nth-child(even), .respond .center-second tbody tr td:nth-of-type(2) {
text-align: center;
}

.flex-cell {
display: flex;
flex-flow: row nowrap;
width: 100%;
}
.flex-cell span {
margin: auto;
}


/*  Sire Mobile */

	.eval-mob {
	display: none;
	}
	
	.eval-dsk {
	display: block;
	}

@media(max-width: 1200px) {
	.TableWrapper.sire-toptables {
		display: flex;
		flex-flow: row wrap;
	}

	.TableWrapper.sire-toptables div.Col-1-3 {
	    width: 48%;
	    		align-self: center;
	}
	
	.TableWrapper.sire-toptables div.Col-1-3:nth-of-type(1) {
	    margin-right: 2%;
	}
	.TableWrapper.sire-toptables div.Col-1-3:nth-of-type(2) {
	    margin-left: 2%;
	    margin-right: 0;
	}
	.TableWrapper.sire-toptables div.Col-1-3:nth-of-type(3) {
		margin-right: 0;
	        display: flex;
	        width: 100%;
	        flex-flow: row wrap;	
		justify-content: space-between;
	}
	
	.TableWrapper.sire-toptables div.Col-1-3:nth-of-type(3) .respond {
		margin-bottom: 0;
	}
	
	.TableWrapper.sire-toptables div.Col-1-3:nth-of-type(3) .respond {
		width: 48%;
		float: left;
		justify-content: space-between;	
	}
	
	.TableWrapper.sire-bottomtables {
		width: 100%;
		float: left;
		overflow: visible;
	}
	
	.TableWrapper.sire-bottomtables .Col {
		display: flex;
		flex-flow: row wrap;
	}
	
	.TableWrapper.sire-bottomtables .Col div.Col-1-3 {
		width: 48%;
		align-self: center;
	}
	
	.TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(1) {
	    margin-right: 2%;
	}
	
	.TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(2) {
	    margin-left: 2%;
	    margin-right: 0;
	}
	
	.TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(3) {
		margin-right: 0;
	        display: flex;
	        width: 100%;
	        flex-flow: row wrap;	
		justify-content: space-between;
	}
	
	.TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(3) .respond {
		width: 48%;
	}
	
	.TableWrapper.sire-bottomtables table {
		margin-bottom: 1em;
	}
	
	.eval-mob {
	display: block;
	}
	.eval-dsk {
	display: none;
	}
	
	.TableWrapper, .TableWrapper .respond {
		margin-bottom: 1em;
	}
	
	.TableWrapper.sire-toptables {
		margin-bottom: 0;
	}
	
	.TableWrapper.sire-bottomtables table, .TableWrapper.sire-toptables table{
		margin-bottom: 0;
	}
	
	.base-eval.eval-mob {
		display: flex;
		flex-flow: column nowrap;
	}
	
	.d-flex.table-space-right {
		display: table-cell;
	}	
	
}

@media(max-width: 700px) {
.TableWrapper.sire-bottomtables .Col, .TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(3) {
flex-flow: column nowrap;
}

.DairyCrossReferenceTable.BarChart td {
font-size: .6em !important;
}

.TableWrapper.sire-toptables div.Col-1-3:nth-of-type(1), .TableWrapper.sire-toptables div.Col-1-3:nth-of-type(2), .TableWrapper.sire-toptables div.Col-1-3:nth-of-type(3) .respond, .TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(1), .TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(2), .TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(3), .TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(3) .respond, .base-eval.eval-mob, .TableWrapper.sire-bottomtables .Col div.Col-1-3:nth-of-type(3) .respond {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
}
}

@media(min-width: 700px) and (max-width: 1200px) {
	.tablet-col {
		width: 50%;
	}

	.tablet-col.tc-1 {
		padding-right: 2%;
		display: flex;
		flex-flow: column nowrap;
	}
	
	.tablet-col.tc-1 div.Col-1-3:last-of-type {
	order: 1;
	}
	.tablet-col.tc-1 div.Col-1-3:first-of-type {
	order: 2;
	}
	
	.tablet-col.tc-2 {
		padding-left: 2%;
	}
	
	.tablet-col .Col-1-3 {
		width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

@media(max-width: 700px) {
	.tablet-col.tc-1 {
		display: flex;
		flex-flow: column nowrap;
	}
	
	.tablet-col.tc-1 div.Col-1-3:last-of-type {
		order: 2;
	}
	.tablet-col.tc-1 div.Col-1-3:first-of-type {
		order: 1;
	}
}


.head-print {
	display: flex;
	flex-flow: row nowrap;
}

.head-print .Button,
.head-print .head-wrapper {
	margin: 0 0 0 auto;
	align-self: center;
}

.head-print .head-wrapper {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}

.img--cdcb-logo {
	width: 6rem;
	margin: 0 2rem 0 0;
}

@media(max-width: 640px) {
	.head-print {
		display: flex;
		flex-flow: column nowrap;
	}

	.head-print .Button,
	.head-print .head-wrapper {
		margin: 0;
		align-self: start;
	}
}

@media all and (min-width: 60em) {	
	.img--cdcb-logo {
		width: 9rem;
		margin: 0 3rem 0 0;
	}
}