/* ==========================================================================
   COMPONENTS / MINI-MODAL
   ========================================================================== */

   .is-inert {
	pointer-events: none;
	user-select: none;
}

.has-dialog {
	height: 100vh;
	overflow: hidden;
}

.c-dialog {}

.c-dialog[aria-hidden="true"] {
	display: none;
}

.c-dialog[aria-hidden="false"] {
	display: block;
	position: relative;
	z-index: 500;
}

	.c-dialog__overlay {
		display: flex;
		align-items: center;
		justify-content: center;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0,0,0, 0.6);
	}

	.c-dialog__overlay,
	.c-dialog__container {
		will-change: transform;
	}

		.c-dialog__container {
			width: 90vw;
			max-width: 40rem;
			min-width: 20rem;
			max-height: 90vh;
			padding: 2rem;
			background-color: #FFF;
			border-radius: 0.25rem;
			overflow-y: auto;
		}

			.c-dialog__header {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
			}

				.c-dialog__title {
					margin: 0;
					font-size: 1.25rem;
					font-weight: 700;
				}

				.c-dialog__close {
					background-color: transparent;
					border: 0 none;
					line-height: normal;
				}

				.c-dialog__close::before {
					content: "\2715";
				}

			.c-dialog__content {
				margin-top: 2rem;
			}

				.c-dialog__content > *:last-child {
					margin-bottom: 0;
				}








/** Other **/

.u-font-tiny {
	font-size: 0.625em
}

.u-font-small {
	font-size: 0.75em
}

@media screen and (min-width: 40em) {
	.u-font-tiny {
		font-size:0.75em
	}

	.u-font-small {
		font-size: 0.832em
	}
}


.c-form-checkbox__input:checked + .c-form-checkbox__caption:after{
	background-color: #003366; 
	border-color: #979797;
}

.c-form-checkbox__input:checked + .c-form-checkbox__caption::before {
    box-shadow: inset 0 0 0.5em 0 rgb(0 0 0 / 20%);
    transition: border-color 0.25s ease,background-color 0.25s ease;
}

.c-form-checkbox {
    display: inline-block;
    margin-bottom: calc(1em / 4);
    width: 100%;
    cursor: pointer;
    font-size: 1em;
}

.c-form-checkbox--inline {
    width: auto;
    margin-right: calc(1em * 2)
}

.c-form-checkbox__input {
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
    white-space: nowrap
}

.c-form-checkbox__caption {
    display: flex;
    align-items: center;
    position: relative;
    margin-left: calc(1em + 1em);
    user-select: none
}

.c-form-checkbox__caption::before {
    display: inline-block;
    position: relative;
    width: 1em;
    height: 1em;
    margin-right: 1em;
    margin-left: calc(0px - (1em + 1em));
    background-color: #fff;
    border: 1px solid #c0c0c0;
    content: "";
    transition: border-color 0.25s ease
}

.c-form-checkbox--radio .c-form-checkbox__caption::before {
    border-radius: 100%
}

.c-form-checkbox__input:focus + .c-form-checkbox__caption::before {
    outline: none
}

.c-form-checkbox__input:checked + .c-form-checkbox__caption::before {
    box-shadow: inset 0 0 0.5em 0 rgba(0,0,0,0.2);
    transition: border-color 0.25s ease,background-color 0.25s ease
}

.c-form-checkbox__input:checked + .c-form-checkbox__caption::after {
    position: absolute;
    left: calc(0px - (1em + 1em));
    width: calc(1em + 1px);
    height: calc(1em + 1px);
    background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEyOCAxMjgiIGhlaWdodD0iMTI4cHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxMjggMTI4IiB3aWR0aD0iMTI4cHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxwYXRoIGQ9Ik0xMTYuMTU4LDI5LjMzNmwtNC45NzUtNC45NzVjLTMuNDY5LTMuNDY5LTkuMDg4LTMuNDc4LTEyLjU0OS0wLjAxOUw0OC4xMDMsNzQuODc1TDI5LjM2NCw1Ni4xMzYgIGMtMy40NTktMy40Ni05LjA3OC0zLjQ1LTEyLjU0OSwwLjAyMWwtNC45NzQsNC45NzRjLTMuNDcsMy40Ny0zLjQ4LDkuMDg5LTAuMDIsMTIuNTQ5TDQxLjgsMTAzLjY1NyAgYzEuNzQxLDEuNzQxLDQuMDI2LDIuNjAyLDYuMzEsMi41ODhjMi4yNzksMC4wMTEsNC41NTktMC44NTIsNi4yOTctMi41OWw2MS43NzEtNjEuNzcxICBDMTE5LjYzNywzOC40MjQsMTE5LjYzMSwzMi44MDcsMTE2LjE1OCwyOS4zMzZ6IiBmaWxsPSIjMjMyMzIzIi8+PC9zdmc+") no-repeat center center;
    background-size: contain;
    content: ""
}

.c-form-checkbox--radio .c-form-checkbox__input:checked + .c-form-checkbox__caption::after {
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSIyMHB4IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwcHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48dGl0bGUvPjxkZXNjLz48ZGVmcy8+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSI+PGcgZmlsbD0iIzAwMDAwMCIgaWQ9IkNvcmUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMzguMDAwMDAwLCAtMzM4LjAwMDAwMCkiPjxnIGlkPSJyYWRpby1idXR0b24tb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMzOC4wMDAwMDAsIDMzOC4wMDAwMDApIj48cGF0aCBkPSJNMTAsNSBDNy4yLDUgNSw3LjIgNSwxMCBDNSwxMi44IDcuMiwxNSAxMCwxNSBDMTIuOCwxNSAxNSwxMi44IDE1LDEwIEMxNSw3LjIgMTIuOCw1IDEwLDUgTDEwLDUgWiBNMTAsMCBDNC41LDAgMCw0LjUgMCwxMCBDMCwxNS41IDQuNSwyMCAxMCwyMCBDMTUuNSwyMCAyMCwxNS41IDIwLDEwIEMyMCw0LjUgMTUuNSwwIDEwLDAgTDEwLDAgWiBNMTAsMTggQzUuNiwxOCAyLDE0LjQgMiwxMCBDMiw1LjYgNS42LDIgMTAsMiBDMTQuNCwyIDE4LDUuNiAxOCwxMCBDMTgsMTQuNCAxNC40LDE4IDEwLDE4IEwxMCwxOCBaIiBpZD0iU2hhcGUiLz48L2c+PC9nPjwvZz48L3N2Zz4=");
    border-radius: 100%
}

.c-form-checkbox__input:disabled + .c-form-checkbox__caption {
    opacity: 0.5;
    cursor: not-allowed
}

.c-form-checkbox__input:disabled + .c-form-checkbox__caption::before {
    background-color: #c0c0c0;
    border-color: #c0c0c0
}


.c-keyline {
	margin-bottom: calc(16px - 1px);
	border: none;
	border-bottom: 1px solid #c0c0c0;
}

.c-keyline--thick {
	margin-bottom: calc(16px - calc(1px * 2));
	border-bottom-width: calc(1px * 2);
}

.c-keyline--small {
	margin-bottom: calc((16px / 2) - 1px)
}

.c-keyline--small.c-keyline--thick {
	margin-bottom: calc((16px / 2) - calc(1px * 2))
}

.c-keyline {
	border-color: #d8d8d8;
}

.required, .u-text-bold {
	font-weight: 700;
}


.u-text-uppercase {
	text-transform: uppercase
}

.c-heading-alpha {
	font-size: calc((((16px * 1.2) * 1.2) * 1.2) * 1.2);
	line-height: 1.25;
}

.c-heading-bravo {
	font-size: calc(((16px * 1.2) * 1.2) * 1.2);
	line-height: 1.154;
}

.c-heading-charlie {
	font-size: calc((16px * 1.2) * 1.2);
	line-height: 1.136;
}

.c-heading-delta {
	font-size: calc(16px * 1.2);
	line-height: 1.125;
}

.c-heading-echo {
	font-size: 16px;
	line-height: 1.125;
}

.c-heading-foxtrot {
	font-size: calc(16px / 1.2);
	line-height: 1.125;
}

@media (min-width: 40em) {
	.c-heading-alpha {
		font-size:calc(((((16px * 1.2) * 1.2) * 1.2) * 1.2) + (((((16 * 1.333) * 1.333) * 1.333) * 1.333) - ((((16 * 1.2) * 1.2) * 1.2) * 1.2)) * ((100vw - (640 * 1px) ) / (960 - 640)));
		line-height: calc(1.25em + 0.2 * ((100% - (640 * 1px)) / 640))
	}

	.c-heading-bravo {
		font-size: calc((((16px * 1.2) * 1.2) * 1.2) + ((((16 * 1.333) * 1.333) * 1.333) - (((16 * 1.2) * 1.2) * 1.2)) * ((100vw - (640 * 1px) ) / (960 - 640)));
		line-height: calc(1.154em + 0.096 * ((100% - (640 * 1px)) / 640))
	}

	.c-heading-charlie {
		font-size: calc(((16px * 1.2) * 1.2) + (((16 * 1.333) * 1.333) - ((16 * 1.2) * 1.2)) * ((100vw - (640 * 1px) ) / (960 - 640)));
		line-height: calc(1.136em + 0.114 * ((100% - (640 * 1px)) / 640))
	}

	.c-heading-delta {
		font-size: calc((16px * 1.2) + ((16 * 1.333) - (16 * 1.2)) * ((100vw - (640 * 1px) ) / (960 - 640)));
		line-height: calc(1.125em + 0.95 * ((100% - (640 * 1px)) / 640))
	}

	.c-heading-echo {
		font-size: calc(16px * ((100vw - (640 * 1px) ) / (960 - 640)));
		line-height: calc(1.125em + 0.25 * ((100% - (640 * 1px)) / 640))
	}

	.c-heading-foxtrot {
		font-size: calc((16px / 1.2) + ((16 / 1.333) - (16 / 1.2)) * ((100vw - (640 * 1px) ) / (960 - 640)));
		line-height: calc(1.125em + 0.25 * ((100% - (640 * 1px)) / 640))
	}
}

@media (min-width: 60em) {
	.c-heading-alpha {
		font-size:calc((((16px * 1.333) * 1.333) * 1.333) * 1.333);
		line-height: 1.05
	}

	.c-heading-bravo {
		font-size: calc(((16px * 1.333) * 1.333) * 1.333);
		line-height: 1.25
	}

	.c-heading-charlie {
		font-size: calc((16px * 1.333) * 1.333);
		line-height: 1.25
	}

	.c-heading-delta {
		font-size: calc(16px * 1.333);
		line-height: 1.22
	}

	.c-heading-echo {
		font-size: 16px;
		line-height: 1.5
	}

	.c-heading-foxtrot {
		font-size: calc(16px / 1.333);
		line-height: 1.5
	}
}

.c-heading--subheading {
	font-size: 0.6em;
	font-weight: 400;
}