@charset "UTF-8";
/*
*  Global variables
*
*  Used across multiple components
*/
/* -------------------------------
    Global spacing variables
--------------------------------- */
/*** 1 - Breakpoint sizes for media queries ***/
/*
*  Global colour variables
*
*  1 - Greyscale colours
*  2 - System colours
*  3 - Accent colours
*    3.1 - Main
*    3.2 - Light
*    3.3 - Dark
*    3.4 - Callout backgrounds
*/
/*** 1 - Greyscale colours ***/
/*** 2 - System colours ***/
/*** 3 - Accent colours ***/
/* Main */
/* Light */
/* Dark */
/* callout backgrounds */
/* icon colours */
/* service ontario header colours */
/* -------------------------------
    Global font-weight variables
--------------------------------- */
/* -------------------------------
    Global font-size variables
--------------------------------- */
/* -------------------------------
    Global font variables
--------------------------------- */
/* -------------------------------
    Global letter-spacing variables
--------------------------------- */
/* Rem calc function */
/* Pixel to REM Conversion */
/* -------------------------------
    Global line-height variables
--------------------------------- */
/* -------------------------------
    Global typography variables
--------------------------------- */
h6,
.ontario-h6,
h5,
.ontario-h5,
h4,
.ontario-h4,
h3,
.ontario-h3,
h2,
.ontario-h2,
h1,
.ontario-h1 {
	font-style: normal;
	font-weight: 700;
	text-rendering: optimizeLegibility;
	margin-bottom: 1rem;
	font-feature-settings: normal;
	font-family: 'Raleway Modified', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1,
.ontario-h1 {
	font-size: 2rem;
	letter-spacing: 0.04rem;
	line-height: 1.29;
	margin: 2.5rem 0 1.5rem 0;
	max-width: 70rem;
}
@media screen and (min-width: 40em) {
	h1,
	.ontario-h1 {
		font-size: 2.5rem;
		letter-spacing: 0.04rem;
		line-height: 1.2;
	}
}

h2,
.ontario-h2 {
	font-size: 1.6875rem;
	letter-spacing: 0.03rem;
	line-height: 1.37;
	margin: 0 0 0.75rem 0;
	max-width: 48rem;
}
@media screen and (min-width: 40em) {
	h2,
	.ontario-h2 {
		font-size: 2.0625rem;
		letter-spacing: 0.02rem;
		line-height: 1.33;
	}
}

h3,
.ontario-h3 {
	font-size: 1.4375rem;
	letter-spacing: 0.02rem;
	line-height: 1.39;
	margin: 0 0 0.75rem 0;
	max-width: 48rem;
}
@media screen and (min-width: 40em) {
	h3,
	.ontario-h3 {
		font-size: 1.75rem;
		letter-spacing: 0.02rem;
		line-height: 1.43;
	}
}

h4,
.ontario-h4 {
	font-size: 1.25rem;
	letter-spacing: 0.03rem;
	line-height: 1.5;
	margin: 0 0 0.75rem 0;
	max-width: 48rem;
}
@media screen and (min-width: 40em) {
	h4,
	.ontario-h4 {
		font-size: 1.5rem;
		letter-spacing: 0.0313rem;
		line-height: 1.5;
	}
}

h5,
.ontario-h5 {
	font-size: 1.125rem;
	letter-spacing: 0.03rem;
	line-height: 1.56;
	margin: 0 0 0.75rem 0;
	max-width: 48rem;
}
@media screen and (min-width: 40em) {
	h5,
	.ontario-h5 {
		font-size: 1.1875rem;
		letter-spacing: 0.025rem;
		line-height: 1.5;
	}
}

h6,
.ontario-h6 {
	font-size: 1rem;
	line-height: 1.56;
	letter-spacing: 0.03rem;
	max-width: 48rem;
	margin: 0 0 0.75rem 0;
}
@media screen and (min-width: 40em) {
	h6,
	.ontario-h6 {
		font-size: 1rem;
		letter-spacing: 0.025rem;
		line-height: 1.5;
	}
}

.ontario-lead-statement {
	font-size: 1.25rem;
	line-height: 1.6;
	max-width: 70rem;
}
@media screen and (min-width: 40em) {
	.ontario-lead-statement {
		font-size: 1.375rem;
	}
}

/*
*  Global elements
*
*  1 - Unclassed elements
*    1.1 - Base
*    1.2 - Typography
*    1.3 - Forms
*    1.4 - Horizontal Rule
*    1.5 - Lists
*/
/*** 1 - Unclassed Elements ***/
/* Base */
html {
	font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1rem;
}

body {
	font-size: 1rem;
	line-height: 1.6;
	background-color: #ffffff;
	color: rgb(25.5, 25.5, 25.5);
	margin: 0;
}

/* Typography */
p {
	font-size: inherit;
	margin-bottom: 1.25rem;
	text-rendering: optimizeLegibility;
	margin: 0 0 1.5rem 0;
}

cite {
	font-style: italic;
	line-height: inherit;
}

strong {
	font-weight: 700;
	line-height: inherit;
}

/* everything - including before and after - should inherit their box sizing */
*,
*::before,
*::after {
	box-sizing: inherit;
}

main p,
main p:not(.ontario-lead-statement),
main dd,
main li {
	max-width: 48rem;
}

hr {
	border: 0;
	padding: 0;
	margin: 2.5rem 0;
	border-bottom: 4px solid #cccccc;
}

/* Horizontal Rule */
hr.ontario-hr--dark {
	border-bottom: 4px solid rgb(25.5, 25.5, 25.5);
}

a {
	color: #0066cc;
	text-decoration: underline;
}
a:visited {
	color: #551a8b;
}
a:hover {
	color: #00478f;
}
a:active {
	color: #002142;
}
a:focus {
	-moz-box-shadow: 0 0 0 4px #009adb;
	-webkit-box-shadow: 0 0 0 4px #009adb;
	box-shadow: 0 0 0 4px #009adb;
	outline: 4px solid transparent;
	transition: all 0.1s ease-in-out;
}

​p {
	margin: 0 0 1.5rem 0;
}

​p + h1,
p + h2,
p + h3,
p + h4,
p + h5,
p + h6,
ul + h1,
ul + h2,
ul + h3,
ul + h4,
ul + h5,
ul + h6,
ol + h1,
ol + h2,
ol + h3,
ol + h4,
ol + h5,
ol + h6,
h1 + h2,
h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 {
	margin-top: 2rem;
}

p code,
td code,
li code {
	line-height: 2.25rem;
}

/* Forms */
input[type='text'],
input[type='number'],
input[type='email'],
input[type='date'],
input[type='color'],
input[type='search'],
input[type='tel'],
textarea {
	background-origin: initial;
	height: auto;
	-webkit-appearance: none;
	-moz-appearance: none;
}

input[type='checkbox'] + label,
input[type='radio'] + label {
	font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	margin-left: 0;
	margin-right: 0;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	page-break-inside: avoid;
}

legend,
label {
	display: block;
	margin: 0;
}

select {
	background-origin: initial;
	height: auto;
	-webkit-appearance: none;
	-moz-appearance: none;
}

/* Lists */
ul,
ol {
	padding: 0;
}

ul {
	margin-left: 2rem;
}

ul li {
	padding: 0 0 0.75rem 0;
}

ol {
	margin-left: 1.75rem;
}

ol li {
	padding: 0 0 0.75rem 0.25rem;
}

ul li:last-child,
ol li:last-child {
	padding-bottom: 0;
}

ul[class*='columns-'] li:last-child,
ol[class*='columns-'] li:last-child {
	padding-bottom: 0.75rem;
}

ul ul,
ol ul {
	margin: 0.5rem 0 0.5rem 2rem;
}

ul ol,
ol ol {
	margin: 0.5rem 0 0.5rem 1.75rem;
}

p + ul,
p + ol {
	margin-top: -0.75rem;
}

@media screen and (min-width: 40em) {
	ul {
		margin: 0.5rem 0 1.5rem 3rem;
	}
	ol {
		margin: 0.5rem 0 1.5rem 2.75rem;
	}
	ul ul,
	ol ul {
		margin: 0.5rem 0 0.5rem 3rem;
	}
	ul ol,
	ol ol {
		margin: 0.5rem 0 0.5rem 2.75rem;
	}
}
/* -------------------------------
    Focus placeholder variables
--------------------------------- */
/* -------------------------------
    Focus placeholder
--------------------------------- */
.ontario-button:focus,
.ontario-button:active {
	box-shadow: 0 0 0 4px #009adb;
	outline: 4px solid transparent;
	transition: box-shadow 0.1s ease-in-out;
}

:host {
	display: inline-block;
}

.ontario-button {
	border: none;
	border-radius: 4px;
	box-sizing: border-box;
	box-shadow: none;
	display: inline-block;
	font-size: 1.125rem;
	font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 600;
	line-height: 1.5555555556;
	margin: 0;
	min-width: 10rem;
	padding: 0.625rem 1.5rem;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
@media screen and (max-width: 40em) {
	.ontario-button {
		margin-right: 0;
		display: block;
		width: 100%;
	}
}
.ontario-button .ontario-icon {
	margin-right: 4px;
}

.ontario-button--primary {
	background-color: #0066cc;
	color: #ffffff;
}
.ontario-button--primary:hover {
	background-color: #00478f;
	color: #ffffff;
}
.ontario-button--primary:focus {
	background-color: #00478f;
	color: #ffffff;
	transition:
		background-color 0.2s ease-out,
		box-shadow 0.1s ease-in-out;
}
.ontario-button--primary:active {
	background-color: #002142;
	color: #ffffff;
	transition:
		background-color 0s,
		box-shadow 0.1s ease-in-out;
}
.ontario-button--primary:visited {
	color: #ffffff;
}

.ontario-button--secondary {
	background-color: #ffffff;
	border: 2px solid #0066cc;
	color: #0066cc;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
.ontario-button--secondary:hover {
	background-color: rgb(224.4, 239.7, 255);
	border-color: #00478f;
	color: #00478f;
}
.ontario-button--secondary:focus {
	background-color: rgb(224.4, 239.7, 255);
	border-color: #00478f;
	color: #00478f;
	transition:
		background-color 0.2s ease-out,
		box-shadow 0.1s ease-in-out;
}
.ontario-button--secondary:active {
	background-color: rgb(193.8, 224.4, 255);
	border-color: #002142;
	color: #002142;
	transition:
		background-color 0s,
		box-shadow 0.1s ease-in-out;
}
.ontario-button--secondary:visited {
	color: #0066cc;
}

.ontario-button--tertiary {
	background-color: transparent;
	color: #0066cc;
	text-decoration: underline;
}
.ontario-button--tertiary:hover {
	background-color: rgb(232.05, 232.05, 232.05);
	color: #00478f;
	text-decoration: underline;
}
.ontario-button--tertiary:focus {
	background-color: rgb(232.05, 232.05, 232.05);
	color: #00478f;
	text-decoration: underline;
	transition:
		background-color 0.2s ease-out,
		box-shadow 0.1s ease-in-out;
}
.ontario-button--tertiary:active {
	background-color: rgb(209.1, 209.1, 209.1);
	color: #002142;
	text-decoration: underline;
	transition:
		background-color 0s,
		box-shadow 0.1s ease-in-out;
}
.ontario-button--tertiary:visited {
	color: #0066cc;
}

.ontario-button--internalThemeDark {
	background-color: rgb(25.5, 25.5, 25.5);
	border: 2px solid #ffffff;
	color: #ffffff;
}
.ontario-button--internalThemeDark:hover {
	background-color: rgb(76.5, 76.5, 76.5);
}
.ontario-button--internalThemeDark:focus {
	background-color: rgb(76.5, 76.5, 76.5);
	transition:
		background-color 0.2s ease-out,
		box-shadow 0.1s ease-in-out;
}
.ontario-button--internalThemeDark:active {
	background-color: rgb(76.5, 76.5, 76.5);
	transition:
		background-color 0s,
		box-shadow 0.1s ease-in-out;
}
.ontario-button--internalThemeDark:visited {
	color: #0066cc;
}

.ontario-step-indicator {
	margin-bottom: 2.5rem;
}

.ontario-step-indicator .ontario-step-indicator--with-back-button--false,
.ontario-step-indicator .ontario-step-indicator--with-back-button--true,
.ontario-step-indicator .ontario-step-indicator--without-back-button,
.ontario-step-indicator .ontario-step-indicator--with-back-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ontario-step-indicator .ontario-step-indicator--with-back-button--false,
.ontario-step-indicator .ontario-step-indicator--without-back-button {
	justify-content: flex-end;
}

.ontario-step-indicator .ontario-h4 {
	margin: 1.25rem 0;
}
@media screen and (max-width: 40em) {
	.ontario-step-indicator .ontario-h4 {
		margin: 1rem 0;
		text-align: right;
	}
}

/**
* Tertiary button defaults are overridden to achieve the mini-button specifications
* width is unset in small screen size to remove unnecessary space being added to the button
* min-width and max-width are set for small screen size to ensure the "back" button doesn't break and protrude into the text to the right
*/
.ontario-step-indicator .ontario-button.ontario-button--tertiary {
	display: flex;
	align-items: center;
	margin: 0.75rem 0;
	padding-left: 0.5rem;
	padding-right: 1rem;
	min-width: 3rem;
}
@media screen and (max-width: 40em) {
	.ontario-step-indicator .ontario-button.ontario-button--tertiary {
		width: unset;
	}
}
.ontario-step-indicator .ontario-button.ontario-button--tertiary .ontario-icon {
	margin: 0 0.375rem 0 0;
	padding: 0;
	min-width: 24px;
	min-height: 24px;
}

.ontario-step-indicator hr {
	padding: 0;
	margin: 0;
}
