:root {
    --email-form-field-width-desktop: 34rem;
    --email-form-field-width-tablet: 70rem;
} 
.dropdown-box {
    cursor: pointer;
    font-family: var(--text-raleway);
    font-weight: 700;
    user-select: none;
    position: relative;
    flex-basis: 100%;

    & > summary {
        padding: .5rem 0 .5rem 1rem;
        border: .125rem solid;
        border-radius: .25rem;
        list-style: none;
        background-image: var(--arrow-down);
        background-position: right .5rem center;
        background-repeat: no-repeat;
        background-size: 2rem;

        &:focus-visible {
            outline: .125rem solid var(--color-link-focus);
        }
    }
    & > summary::-webkit-details-marker {
      display: none; /* Removes the indicator in Safari */
    }

    & details {
        padding: .5rem 1rem .25rem;

    }

    & .ontario-checkboxes {
        position: absolute;
        z-index: 1;
        background: var(--color-white);
        padding: 0;
        margin: 0;
        border-top: 1px solid var(--color-greyscale-20);
        width: 100%;
        min-width: 100%;
    }

    & .ontario-checkboxes__item {
        list-style: none;
        padding: .45rem;
        vertical-align: center;
        margin-bottom: 0;
        border-left: 1px solid var(--color-greyscale-20);
        border-right: 1px solid var(--color-greyscale-20);
        border-bottom: 1px solid var(--color-greyscale-20);
        max-width: none;
        background: white;
        min-width: fit-content;
        box-sizing: border-box;

        &:has(details) {
            overflow: hidden;
        }

        &:last-child {
            margin-bottom: 0;
            padding-bottom: .45rem;
        }

        & a:focus {
            box-shadow: 0 -4px 0 #009adb, 0 4px 0 #009adb;
        }

        & input+label {
            margin-left: 2rem;
            padding-left: 1.25rem;
        }
    }

    & .ontario-checkboxes__input, .ontario-checkboxes__label:before,  .ontario-checkboxes__label:after {
    	top: .45rem;
    	left: 1rem;
    }


    & li:not(:has(details)) {
        &:hover {
            & a {
                color: var(--color-white);
                background-color: var(--color-grey-but-somehow-different);
            }
        }
    }

    &[open] {
        & summary {
            background-image: var(--arrow-up);
            margin-bottom: 1px;
        }

        & details {
            & summary {
                background-position: right -.5rem center;
                background-image: var(--arrow-down);
            }

            &:hover {
                & li {
                    background-color: var(--color-white);
                    color: var(--color-text);

                    &:hover {
                        background-color: var(--color-grey-but-somehow-different);
                        color: var(--color-white);
                    }
                }

                & summary {
                    background-image: var(--arrow-down-white);
                }
            }

            &[open] {
                margin-bottom: -.25rem;

                & li:last-child {
                    padding-bottom: .5rem;
                }

                & summary {
                    background-image: var(--arrow-up);
                }

                &:not(:has(li:hover)):hover summary {
                    background-image: var(--arrow-up-white);
                }
            }
        }
    }
}
.ontario-input--email-signup {
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
}
@media (min-width: 40rem) {
    .dropdown-box { 
        max-width: var(--email-form-field-width-tablet);
        flex-basis: var(--email-form-field-width-tablet);

        & .split-checkboxes {
            min-width: 100%;
        }

        & .split-checkboxes--second-child {
            border-top: 1px solid var(--color-greyscale-20);
            transform: translateY(-1px);
        }
    }
    .ontario-input--email-signup {
        max-width: var(--email-form-field-width-tablet);
        flex-basis: var(--email-form-field-width-tablet);
    }
}
@media (min-width: 73rem) {
    .dropdown-box { 
        max-width: var(--email-form-field-width-desktop);
        flex-basis: var(--email-form-field-width-desktop);
        & .ontario-checkboxes--split {
            display: flex;
        }
    }
    .ontario-input--email-signup {
        max-width: var(--email-form-field-width-desktop);
        flex-basis: var(--email-form-field-width-desktop);
    }
}

.ontario-checkboxes__single-option {
	margin-top: 1rem;
	margin-bottom: .25rem;
}

.ontario-checkboxes--notice-of-collection {
	display: flex;
    margin-top: .5rem;
}

input[type=checkbox]+label.ontario-checkboxes__label--sr-only {
	font-size: 0;
	padding: 0 .5rem;
}

[data-list-selected] {
	margin-top: .25rem;
	display: flex;
	flex-wrap: wrap;
	& span {
		margin-top: .5rem;
		padding: .25rem .5rem 0 .5rem;
		background-color: var(--color-greyscale-border);
		margin-right: .5rem;
		border-radius: .25rem;
		user-select: none;
	}
	& + .ontario-checkboxes__single-option {
		margin-top: .75rem;
	}
	& [data-clear] {
		border: 0 solid transparent;
		background: transparent;
		padding: 0;
		margin-left: .25rem;
		transform: translateY(-2px);

		&:hover {
			cursor: pointer;
			transform: translateY(-3px);
		}
	}
}

@media (min-width: 73rem) {
    [data-list-selected] {
        & span {
            white-space: pre;
        }
    }
}

#errorSummary {
	flex-wrap: wrap;
	& > * {
		flex-basis: 100%;
	}
}

.email-term-selection {
    display: flex;
    flex-wrap: wrap;
    & [data-list-selected] {
        flex-basis: 100%;
    }
    & .ontario-checkboxes__single-option {
        flex-basis: 100%;
    }
    & .button-that-looks-like-a-link {
        text-decoration: underline;
    }
    & [data-clear-all] {
        display: none;
        margin-top: .5rem;
    }
}

@media (min-width: 40rem) {
    .dropdown-box {
        flex-basis: 75%;
    }

    .ontario-input--email-signup {
        width: 75%;
    }

    .email-term-selection {
        & [data-clear-all] {
            margin-top: 0;
            margin-left: 1rem;
            flex-basis: 20%;
            text-align: left;
        }
    }
}
.email-notifications, .email-preferences {
    & .ontario-error-messaging, .ontario-alert {
        &:not(#adminCustomAlert) {
            display: none;
        }
    }

    & .ontario-form-group--email-input {
        margin-bottom: .5rem;
    }
}

.email-notifications,
.email-preferences,
.email-unsubscribe {
    & ontario-page-alert[type] {
        display: block;
        max-width: 45.75rem;
        margin-bottom: -1.5rem;
    }
    & #emailFormSubmit {
        margin-bottom: 1rem;
    }
}

@media (min-width: 40rem) {
    .email-notifications,
    .email-preferences,
    .email-unsubscribe {
        & #emailFormSubmit {
            margin-bottom: 1rem;
        }
        & ontario-page-alert[type] {
            margin-bottom: -2.5rem;
        }
    }
}

@media (min-width: 73rem) {
    .email-notifications,
    .email-preferences,
    .email-unsubscribe {
        & #emailFormSubmit {
            margin-bottom: 2rem;
        }
    }
}

[data-details][open] ~ .ontario-checkboxes__single-option [data-select-all] {
    pointer-events: none;
}

#nocError.ontario-error-messaging {
    margin-top: .5rem;
}

.email-preferences-action-buttons {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: .25rem;
    & .ontario-button {
        margin-right: 0;
        margin-bottom: 1rem;
        height: fit-content;
    }
}
@media (min-width: 40rem) {
    .email-preferences-action-buttons {
        max-width: var(--email-form-field-width-desktop);
        flex-wrap: nowrap;
        flex-direction: row-reverse;
        & .ontario-button {
            margin-bottom: 1.5rem;
        }
    }
}
.link-to-unsub {
    width: 100%;
    display: inline-block;
    text-align: center;
}
@media (min-width: 40rem) {
    .link-to-unsub {
        width: fit-content;
        display: inline;
        text-align: left;
    }
}

.email-unsubscribe {
    & .ontario-form-group--email-input {
        margin-bottom: 2rem;
    }
}

.email-unsubscribe, .email-preferences {
    & form {
        margin-top: 2rem;
    }
}

.page-title--with-border-and-random-spacing {
    /* This should be larger, but we've got the "third row"
     of the menu taking up 2rem (just on mobile)
     rn with margins and no content so 
     probably it'll end up being 2rem when there's 3rd row content
     but we're just trying to pass QA rn */
    margin-top: 2.5rem;
}
@media (min-width: 40rem) {
    .page-title--with-border-and-random-spacing {
        margin-top: 4rem;
        margin-bottom: 3rem;
    }
}
@media (min-width: 73rem) {
    .page-title--with-border-and-random-spacing {
        margin-top: 5rem;
    }
}

.previous-preferences-message {
    margin: 1rem 0;
    padding: 1rem;
    background: #f5f5f5;
    border-left: 4px solid #666;
}

.previous-preferences-list {
    margin: 0.5rem 0;
    padding-left: 1.5rem;
}

.previous-preferences-message .notice {
    font-weight: bold;
    margin-bottom: 0.5rem;
}

/** Fixes the overlapping checkboxes bug **/
[data-email-form] .ontario-checkboxes__single-option .ontario-checkboxes__input {
    z-index: unset;
}