:root
{
	--primary-dark-blue: #213159;
	--primary-light-blue: #3d6098;
	--primary-very-light-blue: #8db0ff;
	--primary-red: #f04b4c;
	--primary-gray: #e0e0e0;
	--primary-black: #000000;
	--primary-white: #FFFFFF;
	--diagram-title: #A7352C;
	--back-gray: #c0c0c060;
	--back-light-blue: #3d609860;
	--back-dark-blue: #21315960;
	--back-white: #FFFFFF60;
	--back-offwhite: #F0D0D060;
}

.Curves
{
	border-radius: 10px 100px / 120px;
}

.Curves2
{
	border-radius: 80px / 100px 10px;
}

.Vertical
{
	display: flex;
	flex-direction: column;
}

.Horizontal
{
	display: flex;
	flex-direction: row;
	width: 100%;
}

.HorizontalCenter50
{
	margin-left: 25%;
	margin-right: 25%;
	width: 50%;
}

.HorizontalCenter80
{
	margin-left: 10%;
	margin-right: 10%;
	width: 80%;
}

.HorizontalCenter90
{
	margin-left: 5%;
	margin-right: 5%;
	width: 90%;
}

.HorizontalCentered
{
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
}

.HorizontalLeft60
{
	margin-left: 10%;
	margin-right: 30%;
	width: 60%;
}

.HorizontalRight60
{
	margin-left: 30%;
	margin-right: 10%;
	width: 60%;
}

.HorizontalWrap
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.HorizontalFromRight
{
	display: flex;
	flex-direction: row-reverse;
	width: 100%;
}

.MarginTop10
{
	margin-top: 10%;
}

.Margin10
{
	margin: 10%;
}

.Narrow
{
	max-width: 300px;
}

.FlexFill
{
	flex: 1;
}

.FillParent
{
	width: 100%;
	height: 100%;
}

.RowGap
{
	row-gap: 10px;
}

.RowGapLarge
{
	row-gap: 40px;
}

.ColumnGap
{
	column-gap: 10px;
}

.Grid1_4Plus
{
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 1fr 1fr 1fr 1fr auto;
}

.Grid1
{
	display: grid;
	grid-template-columns: 100%;
	grid-auto-rows: 1fr;
}

.GridVerticalCenterText
{
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 1fr auto 1fr;
	width: 100%;
	height: 100%;
}

.GridVerticalTitleText
{
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 30px max( 110px, 1fr );
	width: 100%;
	height: 100%;
}

.GridVerticalHeaderPlusFour
{
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 40px repeat( 4, 1fr );
	width: 100%;
	height: 100%;
}

.Grid2
{
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.GridIndex3
{
	display: grid;
	grid-template-columns: repeat( 2, minmax( 500px, 1fr ) ) 300px;
	grid-template-rows: 1fr 1fr;
}

.Grid3
{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.Grid4
{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.AbsMenu
{
	position: absolute;
	top: 110px;
	left: 0px;
	width: 99%;
	height: 250px;
}

.NarrowMenu
{
	position: absolute;
	right: 1%;
	top: 40px;
	display: grid;
	grid-template-columns: 100%;
	grid-auto-rows: 30px;
	border: 0px solid black;
	background-color: transparent;
	z-index: 2;
	width: 250px;
}

.NarrowMenu>*:nth-child(odd)
{
	background-color: var( --primary-gray );
}

.NarrowMenu>*:nth-child(even)
{
	background-color: var( --primary-very-light-blue );
}

.NarrowMenu>*:hover
{
	background-color: var( --primary-white );
}

.NarrowMenu A
{
	text-decoration: none;
}

.NarrowMenu A>*
{
	position: relative;
	left: 20px;
}

.GridMenu *
{
	font-family: Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: black;
}

.GridMenu A *
{
	font-family: Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var( --primary-red );
}

.FadeInOut
{
	opacity: 0;
	z-index: 0;
	transition-property: opacity;
	transition-duration: 1s;
	transition-delay: 0.2s;
}

.FadeOut
{
	opacity: 1;
	z-index: 1;
	transition-property: opacity;
	transition-duration: 1s;
	transition-delay: 0.2s;
}

.GridMenu
{
	display: grid;
	grid-template-columns: repeat( 4, 140px );
	grid-template-rows: 30px repeat( 4, 44px );
	row-gap: 10px;
	padding-left: 10px;
	padding-top: 5px;
	overflow: hidden;
	height: 20px;
	background-color: var( --primary-gray );
	transition-property: height;
	transition-duration: 1s;
	transition-delay: 0.2s;
	border: 0px solid black;
	z-index: 1;
	border-radius: 10px;
}

.GridMenu *
{
	font-family: Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: black;
}

.GridMenu A *
{
	font-family: Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var( --primary-red );
}

.OpacityTransition
{
	opacity: 0%;
	transition-property: opacity;
	transition-duration: 1.5s;
	transition-delay: 0.2s;
}

.Float
{
	display: block;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 0px;
	visibility: visible;
	overflow: hidden;
	z-index: 1;
	font-family: Garamond, serif;
	color: black;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
}

.FloatLarge
{
	display: block;
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 0px;
	visibility: visible;
	overflow: hidden;
	z-index: 1;
	font-family: Garamond, serif;
	color: black;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
}

.Float1
{
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 0px;
	height: 100px;
	visibility: visible;
	overflow: hidden;
	z-index: 1;
	font-family: Garamond, serif;
	color: black;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
}

.Float2
{
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 0px;
	height: 100px;
	visibility: visible;
	overflow: hidden;
	z-index: 1;
	font-family: Garamond, serif;
	color: black;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
}

.Float3
{
	padding-left: 40px;
	padding-right: 40px;
	padding-top: 0px;
	height: 100px;
	visibility: visible;
	overflow: hidden;
	z-index: 1;
	font-family: Garamond, serif;
	color: black;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
}

.GridCell11
{
	grid-row: 1;
	grid-column: 1;
}

.GridCell12
{
	grid-row: 1;
	grid-column: 2;
}

.GridCell13
{
	grid-row: 1;
	grid-column: 3;
}

.GridCell14
{
	grid-row: 1;
	grid-column: 4;
}

.GridCell15
{
	grid-row: 1;
	grid-column: 5;
}

.GridCell16
{
	grid-row: 1;
	grid-column: 6;
}

.GridCell1
{
	grid-row: 1;
	grid-column: 1 / -1;
}

.GridCellCol3
{
	grid-row: 1 / 4;
	grid-column: 3;
}

.GridCell21
{
	grid-row: 2;
	grid-column: 1;
}

.GridCell21_2
{
	grid-row: 2;
	grid-column: 1 / span 2;
}

.GridCell22
{
	grid-row: 2;
	grid-column: 2;
}

.GridCell23
{
	grid-row: 2;
	grid-column: 3;
}

.GridCell24
{
	grid-row: 2;
	grid-column: 4;
}

.GridCell25
{
	grid-row: 2;
	grid-column: 5;
}

.GridCell23_4
{
	grid-row: 2;
	grid-column: 3 / span 2;
}

.GridCell2
{
	grid-row: 2;
	grid-column: 1 / -1;
}

.GridCell31
{
	grid-row: 3;
	grid-column: 1;
}

.GridCell32
{
	grid-row: 3;
	grid-column: 2;
}

.GridCell33
{
	grid-row: 3;
	grid-column: 3;
}

.GridCell34
{
	grid-row: 3;
	grid-column: 4;
}

.GridCell32_3
{
	grid-row: 3;
	grid-column: 2 / span 2;
}

.GridCell3
{
	grid-row: 3;
	grid-column: 1 / -1;
}

.GridCell41
{
	grid-row: 4;
	grid-column: 1;
}

.GridCell42
{
	grid-row: 4;
	grid-column: 2;
}

.GridCell43
{
	grid-row: 4;
	grid-column: 3;
}

.GridCell51
{
	grid-row: 5;
	grid-column: 1;
}

.GridCell52
{
	grid-row: 5;
	grid-column: 2;
}

.GridCell53
{
	grid-row: 5;
	grid-column: 3;
}

.GridCell5
{
	grid-row: 5;
	grid-column: 1 / -1;
}

.Body
{
	background-color: white;
	margin: 0% 1% 1% 1%;
}

.LogoImage
{
	z-index: 2;
}

.LogoImage AREA
{
	cursor: pointer;
}

.Header
{
	background-color: white;
}

.FlexGrow
{
	flex-grow: 1;
	align-self: stretch;
}

.TextAlignCenter
{
	text-align: center;
}

.VerticalMiddle
{
	vertical-align: middle;
	display: inline-block;
	line-height: normal;
}

.OfferingTitle
{
	text-align: center;
	vertical-align: middle;
	font-family: Garamond, serif;
	font-size: 28px;
	font-weight: 800;
	color: var( --primary-red );
	text-decoration: none;
}

.GridOffering
{
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 40px 25px 75px;
	row-gap: 20px;
	padding-top: 5px;
}

.OfferingName
{
	vertical-align: middle;
	font-family: Garamond, serif;
	font-size: 18px;
	font-weight: 800;
	color: black;
	text-decoration: none;
}

.Transparent
{
	background-color: transparent;
}

.PageContent
{
	z-index: 0;
}

.Footer
{
	z-index: 0;
}

.PageTitle
{
	text-align: center;
	padding-top: 6px;
	padding-bottom: 6px;
	font-family: Garamond, serif;
	font-size: 28px;
	font-weight: 600;
	color: white;
	background-color: var( --primary-light-blue );
	width: 100%;
}

.DiagramTitle
{
	text-align: center;
	font-family: Garamond, serif;
	font-size: 24px;
	font-weight: 800;
	color: var( --diagram-title );
	padding-top: 10px;
	padding-bottom: 10px;
}

A.DiagramTitle
{
	text-decoration: none;
}

IMG.Diagram
{
	padding: 10px;
}

.GridArticleImageRight
{
	display: grid;
	grid-template-columns: minmax( 450px, min( 600px, 40% ) ) 1fr;
	grid-auto-rows: auto 1fr;
}

.Article
{
	padding-top: 10px;
	padding-bottom: 10px;
}

.ArticleItem
{
	padding-top: 5px;
	padding-bottom: 5px;
	font-family: Garamond, serif;
	font-size: 20px;
	font-weight: 500;
	color: black;
}

.ListNoBullets
{
	list-style-type: none;
}

.ArticleColumn
{
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}

.ArticleColumnWide
{
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}

.ArticleBody
{
	column-width: 450px;
	padding-left: 20px;
	padding-right: 20px;
}

.ArticleBodyColumn
{
	padding-left: 20px;
	padding-right: 20px;
}

.ArticleTitle
{
	text-align: center;
	font-family: Garamond, serif;
	font-size: 28px;
	font-weight: 1000;
	color: var( --primary-red );
	padding-left: 20px;
	padding-right: 20px;
}

.ArticleBold
{
	text-align: left;
	font-family: Garamond, serif;
	font-size: 22px;
	font-weight: 800;
	color: black;
}

.ArticleTitleLeft
{
	text-align: left;
	font-family: Garamond, serif;
	font-size: 28px;
	font-weight: 1000;
	color: var( --primary-red );
	padding-left: 40px;
	padding-right: 40px;
}

.ArticleCaption
{
	text-align: center;
	font-family: Garamond, serif;
	font-size: 24px;
	font-weight: 600;
	color: black;
}

.ArticlePara
{
	text-align: left;
	font-family: Garamond, serif;
	font-size: 20px;
	font-weight: 500;
	color: black;
}

.ContactText
{
	text-align: left;
	font-family: Garamond, serif;
	font-size: 16px;
	font-weight: 400;
	color: black;
}

.UndecoratedLink
{
	text-decoration: none;
}

.ArticleParalink
{
	text-align: left;
	font-family: Garamond, serif;
	font-size: 16px;
	font-weight: 400;
	color: black;
}

A.ArticleParalink
{
	color: blue;
	text-decoration: none;
}

.Phone
{
	text-align: center;
	font-family: Garamond, serif;
	font-size: 20px;
	font-weight: 400;
	color: blue;
	text-decoration: none;
}

.ArticleReadMore
{
	text-align: right;
	font-family: Garamond, serif;
	font-size: 16px;
	font-weight: 400;
	color: black;
}

.ArticleReadMore A
{
	color: blue;
	text-decoration: none;
}

.FooterLinks
{
	text-align: center;
	font-family: Garamond, serif;
	font-size: 14px;
	font-weight: 600;
	color: black;
}

.FooterLinks A
{
	color: var( --primary-red );
	text-decoration: none;
}

.FooterTerms
{
	text-align: center;
	font-family: Garamond, serif;
	font-size: 10px;
	font-weight: 400;
	color: black;
}

A.FooterTerms
{
	color: var( --primary-light-blue );
	text-decoration: none;
}

.FooterCopyright
{
	text-align: center;
	font-family: Garamond, serif;
	font-size: 10px;
	font-weight: 400;
	color: black;
}

IMG.MenuIcon
{
	cursor: pointer;
}

DIV.MenuContainer
{
	visibility: hidden;
}

DIV.MenuItem
{
	display: block;
	position: static;
	width: 100%;
	height: 40px;
	top: 0px;
	left: 0px;
	background-color: var( --primary-gray );
	text-align: left;
	font-family: Garamond, serif;
	font-size: 24px;
	font-weight: 800;
	color: black;
}

.BlockParent
{
	min-width: 1250px;
}

.Block
{
}

SPAN.Block
{
	left: 10%;
	top: 10%;
	width: 80%;
	height: 80%;
	text-align: center;
	font-family: Garamond, serif;
	font-size: 22px;
	font-weight: 600;
	color: white;
}

A.Block
{
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	text-decoration: none;
	cursor: pointer;
}

SPAN.MenuItem
{
	cursor: pointer;
}

IMG.MenuItem
{
	cursor: pointer;
}

A.MenuItem
{
	text-decoration: none;
	color: black;
}

InlineImg
{
	vertical-align: text-bottom;
}

IMG.Stretch
{
}

.Tooltip
{
	position: relative;
	display: inline-block;
	color: var( --primary-red );
	text-decoration: underline;
}

.Tooltip .Hover
{
	visibility: hidden;
	color: var( --primary-black );
	background-color: ( --primary-white );
	text-align: center;
	padding-left: 5px;
	top: -20px;
	left: 20px;
}

.Tooltip:hover .Hover
{
	visibility: visible;
}

.TextImageRight
{
	float: right;
}

.BackGray
{
	background-color: var( --back-gray );
}

.BackLightBlue
{
	background-color: var( --back-light-blue );
}

.BackDarkBlue
{
	background-color: var( --back-dark-blue );
}

.BackWhite
{
	background-color: var( --back-white );
}

.BackOffWhite
{
	background-color: var( --back-offwhite );
}

.BackSourceCode
{
	background-image: url( "../img/SourceCode.png" );
}

.BackBusDocs
{
	background-image: url( "../img/Business.png" );
}

.BackScientific
{
	background-image: url( "../img/Science.png" );
}

.MenuToggle
{
	cursor: pointer;
	position: absolute;
	right: 1%;
	top: 0px;
	width: 30px;
	height: 40px;
	background-color: var( --primary-white );
}

.MenuToggle:hover
{
	background-color: var( --primary-gray );
}

.MenuLine
{
	height: 3px;
	width: 30px;
	position: absolute;
	left: 0px;
	background-color: var( --primary-black );
}

.RotatePlus45
{
	transform: rotate( 45deg );
}

.RotateMinus45
{
	transform: rotate( -45deg );
}

.DisplayInline
{
	display: inline;
}

.DisplayBlock
{
	display: block;
}

.DisplayNone
{
	display: none;
}

.Visible
{
	visibility: visible;
}

.Hidden
{
	visibility: hidden;
}
