/*
	Core UI CSS contains most commonly used non-form styles for pages

    Created on : 2013-12-02, 12:15
    Author     : David O'Donnell <dodonnell@pesgce.com>
*/

/* Common text and link scaling and color effects */
.u {
	text-decoration:underline;
}

.s {
	text-decoration:line-through;
}

.b {
	font-weight:bolder;
}

.i {
	font-style:oblique;
}

.no-padding, .padding-none {
	padding:0 !important;
}

.smaller, .text-smaller, .text-sm, .text-75 {
	font-size: 75%;
}

.text-50 {
	font-size:50%;
}

.text-55 {
	font-size:55%;
}

.text-60 {
	font-size:60%;
}

.text-65 {
	font-size:65%;
}

.text-70 {
	font-size:70%;
}

.text-75 {
	font-size:75%;
}

.text-80 {
	font-size:80%;
}

.text-85 {
	font-size:85%;
}

.text-90 {
	font-size:90%;
}

.text-95 {
	font-size:95%;
}

.text-105 {
	font-size:105%;
}

.text-100 {
	font-size:100%;
}

.text-110 {
	font-size:110%;
}

.text-115 {
	font-size:115%;
}

.larger, .text-larger, .text-lg, .text-large, .text-120 {
	font-size: 120%;
}

.text-125 {
	font-size:125%;
}

.text-130 {
	font-size:130%;
}

.text-135 {
	font-size:135%;
}

.text-140 {
	font-size:140%;
}

.text-145 {
	font-size:145%;
}

.text-xlarge, .text-150 {
	font-size: 150%;
}

.text-155 {
	font-size:155%;
}

.text-160 {
	font-size:160%;
}

.text-165 {
	font-size:165%;
}

.text-170 {
	font-size:170%;
}

.text-175 {
	font-size:175%;
}

.text-180 {
	font-size:180%;
}

.text-185 {
	font-size:185%;
}

.text-190 {
	font-size:190%;
}

.text-195 {
	font-size:195%;
}

.text-jumbo, .text-200 {
	font-size: 200%;
}

.white, .text-white {
	color:#fff;
}

.text-grey {
	color:#899CAA;
}

.text-dark-grey {
	color:#627A8A;
}

.subtle {
	color:#aad;
}

.subtle_inline_grey {
	color:#ddd;
}

.subtle_inline_grey_dark {
	color:#999;
}

.text-bold {
	font-weight:bold;
}

.allcaps, .all-caps {
	text-transform:uppercase;
	letter-spacing:0.025em; /* Butterick */
}

.smcaps, .sm-caps {
	font-variant:small-caps;
	letter-spacing:0.03em; /* After Butterick */
}

.dim {
	opacity:0.3;
}

.nofx, .nofx:hover, .nofx:active, .nofx:visited, .no-fx, .no-fx:hover, .no-fx:active, .no-fx:visited {
	transition:none;
	color:inherit;
	background-color:inherit;
	padding:0;
	margin:inherit;
	border-radius:inherit;
	text-shadow:none;
}

a.none, a:hover.none, a.none img,
a.normaltext, a:hover.normaltext, a.text-normal, a:hover.text-normal,
a:active.none, a:visited.none {
	text-decoration:none !important;
	color:inherit;
	background-color:transparent !important;
	border:0 !important;
	margin:0 !important;
	padding:0 !important;
	border-radius:0 !important;
	-webkit-transition:none !important;
	-moz-transition:none !important;
	-o-transition:none !important;
	transition:none !important;
	text-shadow:none;
	box-decoration-break:slice;
	-webkit-box-decoration-break:slice;

}

/* Hyphenation control -- by default, turned on with "modern" layout */
.nohyphens, .no-hyphens, .hyphens-none, .hyphen-none, .no-hyphenate {
	hyphens:none!important;
	-webkit-hyphens:none!important;
	-ms-hyphens:none!important;
}

.hyphenate {
	hyphens:auto;
	-webkit-hyphens:auto;
	-ms-hyphens:auto;
}

.plaintext, .text-plain {
	font-weight:normal;
}

.normalsize, .text-normal {
	font-size:medium;
}

.footer_btn_region {
	border-right:1px solid #627A8A;
	margin-right:0.2rem;
	white-space: nowrap;
	display:inline-block;
	height:100%;
}

.footer_btn_region_l {
	border-left:1px solid #627A8A;
	white-space: nowrap;
	display:inline-block;
	float:right;
	height:100%;
}

.footer_btn_region_l:hover, .footer_btn_region:hover {
	background-color:rgba(255, 255, 255, 0.6);
	color:#627A8A;
}

/* Common p and other block element styling for vertical spacing */
.lineabove, .la1 {
	margin-top: 1rem;
}

.line2above, .la2 {
	margin-top: 2rem;
}

.above1em, .text-above-1em {
	margin-top:1em;
}

.above15em .text-above-15em {
	margin-top:1.5em;
}

.above05em .text-above-05em {
	margin-top:0.5em;
}

.above2em .text-above-2em {
	margin-top:2em;
}

.above3em, .text-above-3em {
	margin-top:3em;
}

.text-above-1rem {
	margin-top:1rem;
}

.text-above-4rem {
	margin-top:4rem;
}

.text-above-15rem {
	margin-top:1.5rem;
}

.text-above-02rem {
	margin-top:0.2rem;
}

.text-above-03rem {
	margin-top:0.3rem;
}

.text-above-04rem {
	margin-top:0.4rem;
}

.text-above-05rem {
	margin-top:0.5rem;
}

.text-above-06rem {
	margin-top:0.6rem;
}

.text-above-075rem {
	margin-top:0.75rem;
}

.text-above-2rem {
	margin-top:2rem;
}

.text-above-3rem {
	margin-top:3rem;
}

.linebelow, .text-below-1em, .text-below-1rem {
	margin-bottom: 1rem !important;
}

.text-below-15em, .text-below-15rem {
	margin-bottom:1.5rem;
}

.text-below-2em, .text-below-2rem {
	margin-bottom:2rem;
}

.text-below-3em, .text-below-3rem {
	margin-bottom:3rem;
}

.text-below-4em, .text-below-4rem {
	margin-bottom:4rem;
}

.xlineabove, .lax, .text-above-1ex {
	margin-top: 1ex;
}

.xlinebelow, .text-below-1ex {
	margin-bottom: 1ex !important;
}

.nobelow, .text-no-below {
	margin-bottom: 0;
}

.below-04, .text-below-04 {
	margin-bottom:0.4rem!important;
}

.below-03, .text-below-03 {
	margin-bottom:0.3rem;
}

.below-02, .text-below-02 {
	margin-bottom:0.2rem;
}

.below-06, .text-below-06 {
	margin-bottom:0.6rem;
}

.below-075, .text-below-075 {
	margin-bottom:0.75rem;
}

.nobr, .no-br {
	white-space:nowrap;
}

/* span, td, etc. text alignment */
.alignright, .align-right {
	text-align: right;
}

.aligncenter, .align-center {
	text-align: center;
}

.alignleft, .align-left {
	text-align: left;
}

.required {
	font-weight: bold;
	color:#e02900;
}

.required-text::before {
	content:"✻";
	color:#e02900;
	margin-right:0.2em;
}

.error-text::before, .error_32::before {
	content:url(/img/stop-sign.svg);
	display:inline-flex;
	width:1.3em;
	margin-right:0.2rem;
}

.grid tr:hover .required {
	color:#fff;
	background-color:#e02900;
	padding:3px 5px;
	margin:-3px 0;
	border-radius:3px;
	box-decoration-break:clone;
	-webkit-box-decoration-break:clone;
}

/* Image and container set sizes and alignment */
.img_button, .link_button {
	width: 32px;
	height: 32px;
	vertical-align: middle;
}

.link_button {
	margin:0 0 4px 0 !important;
}

.icon_cell {
	width:36px;
}

.sm_icon {
	height:24px;
	width:24px !important;
}

.p_btn, .btn-ptr, .btn-pointer, .fake_a {
	cursor:pointer;
}

/* Element vertical alignment, general and in forms */
.above_vamiddle {
	height:32px;
	margin-top:0.6em;
}

.vamiddle {
	vertical-align: middle;
}

.vabottom {
	vertical-align: bottom;
}

.vatop {
	vertical-align: top;
}

.vabase {
	vertical-align: baseline;
}

/* Fake bullet: put a number in a large colored circle */
.pseudobull {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height:2rem;
	height:2rem;
	width:2rem;
	background-color: #3865AA;
	font-weight: bold;
	color: #fff;
	border-radius:1rem;
	font-size:1.125rem;
}

/* "info block" -- i-in-circle UNICODE text (ⓘ) in a nice blue. */
.iblock, .iblock_big, .iblock-big, .iblock-lg {
	color:blue;
}

.iblock:before, .iblock_big:before, .iblock-big:before, .iblock-lg:before {
	content:"\24d8"; /*ⓘ*/
	font-style:normal;
}

/* "alert block" -- !-in-triangle UNICODE text (⚠) in an appropriate orangey-red */
.ablock, .ablock_big, .ablock-big, .ablock-lg {
	color:#FC2E07;
}

.ablock:before, .ablock_big:before, .ablock-big:before, .ablock-lg:before {
	content:"\26a0"; /*⚠*/
	font-style:normal;
}

/* Multiline versions—float to left, apply larger font size, add right margin */
.iblock_big, .ablock_big, .iblock-big, .iblock-lg, .ablock-big, .ablock-lg {
	float:left;
	font-size:180%;
	margin-right:0.3em;
}

.alert_color {
	color:#FC2E07;
}

/* Clear both */
.clear_both, .clear-both {
	clear:both;
}

/* "Subheading directions" are meant to be included inline in an H1 or H2 */
.subhead_directions, .subhead-directions {
	margin-left:1.5em;
	font-weight:normal;
	font-size:14px; /* Set absolutely based on initial font size in site.css—messy but necessary */
	white-space:nowrap;
}

.subhead_button, .subhead-button {
	float:right;
	margin-right:32px;
}

/* Put "tooltip" text in the fake attribute "infotip" */
.infotip-left, .infotip-right {
	display:inline;
	position:relative;
	cursor:help;
}
.infotip-left:hover:after, .infotip-right:hover:after {
   background:rgba(255, 255, 266, 0.85);
	border:1px solid #333;
   border-radius:0.4rem;
   bottom:26px;
   color:#333;
	text-shadow:0 0.15rem 0.3rem #fff;
   left:5%;
   padding:0.2rem 0.4rem;
   position:absolute;
   z-index:98;
	content:attr(infotip);
	text-align:left;
	font-weight:normal;
	font-size:80%;
}
.infotip-right:hover:after {
	right:-25%;
	left:auto;
}
.infotip-left:hover:before, .infotip-right:hover:before {
	border:solid;
	border-color:#333 transparent;
	border-width:6px 6px 0 6px;
	bottom:20px;
	content:"";
	left:50%;
	position:absolute;
	z-index:99;
}
.infotip-width-16:hover:after {
	width:16rem;
}
.infotip-width-24:hover:after {
	width:24rem;
}
.infotip-width-32:hover:after {
	width:32rem;
}