/* Shared New Day tokens. */
:root {
	--newday-color-white: #ffffff;
	--newday-color-grey-90: #e8e9e9;
	--newday-color-grey-80: #cfd0d2;
	--newday-color-grey-60: #707377;
	--newday-color-grey-50: #666666;
	--newday-color-grey-10: #10151c;
	--newday-color-orange-10: #ffebde;
	--newday-color-orange-60: #ff8a3e;
	--newday-color-primary: var( --newday-color-orange-60 );
	--newday-color-primary-hover: var( --newday-color-grey-80 );
	--newday-color-ink: var( --newday-color-grey-10 );
	--newday-color-surface: #1d1d1b;
	--newday-color-muted: var( --newday-color-grey-60 );
	--newday-color-light: var( --newday-color-grey-80 );
	--newday-color-danger: #dc3545;
	--newday-orange: var( --newday-color-primary );
	--newday-grey-80: var( --newday-color-light );
	--newday-grey-60: var( --newday-color-muted );
	--newday-danger: var( --newday-color-danger );
	/* New Day's type scale spans handset through wide desktop layouts. */
	--newday-display-size: clamp( 1.875rem, 1.5rem + 1.7vw, 4.25rem );
	--newday-h1-size: var( --newday-display-size );
	--newday-h2-size: clamp( 1.625rem, 1.25rem + 1.3vw, 3.5rem );
	--newday-h3-size: clamp( 1.375rem, 1.125rem + 0.95vw, 2.75rem );
	--newday-h4-size: clamp( 1.125rem, 0.875rem + 0.75vw, 2.25rem );
	--newday-h5-size: clamp( 1rem, 0.875rem + 0.56vw, 1.75rem );
	--newday-h6-size: clamp( 0.875rem, 0.75rem + 0.38vw, 1.375rem );
	--newday-utility-size: var( --newday-h6-size );
	--newday-body-size: var( --newday-h5-size );
	--newday-card-heading-size: var( --newday-h4-size );
	--newday-heading-size: clamp( 1.375rem, 1rem + 0.75vw, 1.875rem );
	--newday-legal-size: clamp( 0.75rem, 0.6875rem + 0.28vw, 1.125rem );
	--newday-social-size: 1.5rem;
	--newday-social-gap: 1rem;
	--newday-page-gutter: 5vw;
}

.ui-dialog,
#colorbox {
	color: var( --newday-color-white );
	font-family: "Mulish", sans-serif;
}

main,
main *,
main *::before,
main *::after,
.ui-dialog,
.ui-dialog *,
.ui-dialog *::before,
.ui-dialog *::after,
#colorbox,
#colorbox *,
#colorbox *::before,
#colorbox *::after {
	box-sizing: border-box;
}

/* This is outside the three New Day surfaces, so it must be reset at the page root. */
body {
	margin: 0;
	background: #10151c;
}

body.wait * {
	cursor: wait !important;
}

main {
	/* Preserve the prior content gutter without restoring the global root type scale. */
	--newday-grid-gutter: 19.5px;
	min-width: 0;
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media ( max-width: 950px ) {
	main {
		--newday-grid-gutter: 16.5px;
	}
}

main img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

main svg {
	vertical-align: middle;
}

main table {
	border-collapse: collapse;
}

main fieldset,
.ui-dialog fieldset,
#colorbox fieldset {
	min-width: 0;
	margin: 0;
	border: 0;
	padding: 0;
}

main legend,
.ui-dialog legend,
#colorbox legend {
	float: left;
	width: 100%;
	margin-bottom: 0.5rem;
	padding: 0;
	font-size: var( --newday-h6-size );
	line-height: inherit;
}

main legend + *,
.ui-dialog legend + *,
#colorbox legend + * {
	clear: left;
}

main hr {
	margin: 1rem 0;
	border: 0;
	border-top: 1px solid currentColor;
	opacity: 0.25;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
.ui-dialog h1,
.ui-dialog h2,
.ui-dialog h3,
.ui-dialog h4,
.ui-dialog h5,
.ui-dialog h6,
#colorbox h1,
#colorbox h2,
#colorbox h3,
#colorbox h4,
#colorbox h5,
#colorbox h6 {
	margin-top: 0;
	margin-bottom: 1.25rem;
	color: var( --newday-color-white );
	font-family: "Mulish", sans-serif;
	font-style: normal;
}

main h1,
.ui-dialog h1,
#colorbox h1 {
	font-size: var( --newday-h1-size );
	font-weight: 400;
	line-height: 0.9;
}

main h1 strong,
.ui-dialog h1 strong,
#colorbox h1 strong {
	font-weight: 800;
}

main h2,
.ui-dialog h2,
#colorbox h2 {
	font-size: var( --newday-h2-size );
	font-weight: 400;
	line-height: 0.9;
}

main h2 strong,
.ui-dialog h2 strong,
#colorbox h2 strong {
	font-weight: 800;
}

main h3,
.ui-dialog h3,
#colorbox h3 {
	font-size: var( --newday-h3-size );
	font-weight: 400;
	line-height: 0.9;
}

main h3 strong,
.ui-dialog h3 strong,
#colorbox h3 strong {
	font-weight: 800;
}

main h4,
.ui-dialog h4,
#colorbox h4 {
	font-size: var( --newday-h4-size );
	font-weight: 500;
	line-height: 1.1;
}

main h4 strong,
.ui-dialog h4 strong,
#colorbox h4 strong {
	font-weight: 700;
}

main h5,
.ui-dialog h5,
#colorbox h5 {
	font-size: var( --newday-h5-size );
	font-weight: 400;
	line-height: 0.9;
}

main h5 strong,
.ui-dialog h5 strong,
#colorbox h5 strong {
	font-weight: 700;
}

main h6,
.ui-dialog h6,
#colorbox h6 {
	font-size: var( --newday-h6-size );
	font-weight: 500;
	line-height: 0.9;
}

main h6 strong,
.ui-dialog h6 strong,
#colorbox h6 strong {
	font-weight: 700;
}

main p,
.ui-dialog p,
#colorbox p {
	margin-top: 0;
	margin-bottom: 1rem;
	font-family: "Mulish", sans-serif;
	font-size: var( --newday-body-size );
	font-weight: 400;
	line-height: 1.6;
}

main p.large,
.ui-dialog p.large,
#colorbox p.large {
	font-size: var( --newday-h4-size );
	font-weight: 300;
}

main p.xl,
.ui-dialog p.xl,
#colorbox p.xl {
	font-size: var( --newday-h3-size );
	line-height: 1.4;
}

main p.legal,
.ui-dialog p.legal,
#colorbox p.legal {
	color: var( --newday-color-light );
	font-size: var( --newday-legal-size );
}

main > section:not( .hero ) {
	padding-right: var( --newday-page-gutter );
	padding-left: var( --newday-page-gutter );
}

main section h3 {
	margin-bottom: 42px;
}

.hero {
	height: 100%;
	margin-top: 0;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
}

.container {
	width: 100%;
	margin: 0;
	padding-right: var( --newday-page-gutter );
	padding-left: var( --newday-page-gutter );
}

main .row {
	display: flex;
	flex-wrap: wrap;
	margin-top: 0;
	margin-right: calc( var( --newday-grid-gutter ) * -0.5 );
	margin-left: calc( var( --newday-grid-gutter ) * -0.5 );
}

main .row > * {
	flex-shrink: 1;
	margin-top: 0;
	padding-right: calc( var( --newday-grid-gutter ) * 0.5 );
	padding-left: calc( var( --newday-grid-gutter ) * 0.5 );
}

main .col-2,
main .col-3,
main .col-4,
main .col-5,
main .col-6,
main .col-8,
main .col-12,
main .col-md-3,
main .col-md-8,
main .col-md-9 {
	position: relative;
	width: 100%;
	padding-right: calc( var( --newday-grid-gutter ) * 0.5 );
	padding-left: calc( var( --newday-grid-gutter ) * 0.5 );
}

main .col-2 {
	flex: 0 0 auto;
	width: 16.666667%;
}

main .col-3 {
	flex: 0 0 auto;
	width: 25%;
}

main .col-4 {
	flex: 0 0 auto;
	width: 33.333333%;
}

main .col-5 {
	flex: 0 0 auto;
	width: 41.666667%;
}

main .col-6 {
	flex: 0 0 auto;
	width: 50%;
}

main .col-8 {
	flex: 0 0 auto;
	width: 66.666667%;
}

main .col-12 {
	flex: 0 0 auto;
	width: 100%;
}

@media ( min-width: 768px ) {
	main .col-md-3 {
		flex: 0 0 auto;
		width: 25%;
	}

	main .col-md-8 {
		flex: 0 0 auto;
		width: 66.666667%;
	}

	main .col-md-9 {
		flex: 0 0 auto;
		width: 75%;
	}
}

main .flex {
	display: flex;
}

main .fw {
	width: calc( 100% + 2 * var( --newday-page-gutter ) ) !important;
	margin-left: calc( -1 * var( --newday-page-gutter ) );
}

main .line {
	width: 100%;
	height: 1px;
	opacity: 0.2;
	background: var( --newday-color-white );
}

main .blue,
main .yellow,
main .orange,
main .magenta,
main .purple {
	color: var( --newday-color-primary );
	border-color: var( --newday-color-primary );
}

main .center,
main .center * {
	align-items: center;
	text-align: center;
}

main .right {
	justify-content: flex-end;
	text-align: right;
}

main .w100 {
	width: 100%;
}

main .pad-y-m {
	padding-top: 3.25rem;
	padding-bottom: 3.25rem;
}

main .pad-r-l {
	padding-right: 7.313rem;
}

main .hidden,
.ui-dialog .hidden,
#colorbox .hidden,
main .hidden_tab_panel {
	display: none;
}

@media ( max-width: 768px ) {
	main .pad-r-l {
		padding-right: 0;
	}
}

@media ( max-width: 767px ) {
	main .pad-y-m {
		padding-top: 2.438rem;
		padding-bottom: 2.438rem;
	}
}
