/* Global elements
--------------------------------------------- */
select {
	background: #fff;
	border: 1px solid var(--med-grey);
	border-radius: 5px;
	font-family: var(--sans-serif);
	outline: solid 1px var(--med-grey);
	padding: 0 8px;
}

fieldset {
	border: 0;
	margin: 2em 0;
	padding: 0;
}

legend {
	font-family: var(--sans-serif);
}

input[type="submit"][disabled],
button[type="submit"][disabled],
select[disabled] {
	opacity: .5;
}

input[disabled]:hover,
button[disabled]:hover,
select[disabled]:hover {
	cursor: url(../img/not-allowed.svg) 12 12, not-allowed !important;
}

input[type="text"][aria-disabled="true"] {
    background-color: #ccc !important;
}

input[type="checkbox"]:disabled {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	background-color: var(--med-grey);
	border-radius: 0.2rem;
	padding: 0.1rem;
}

input[type="checkbox"]:disabled::before {
	background-color: var(--med-grey);
	content: "";
	height: .65rem;
	width: .65rem;
}

hr {
    border: 2px dashed var(--med-dark-grey);
    border-style: none none dashed;
    margin: 2em 0;
}

table {
	margin-bottom: 2em;
	width: 100%;
}

th {
	font: normal .8em var(--sans-serif);
	text-align: left;
}

:target {
	scroll-margin-top: 30px;
}

/* Spacing
--------------------------------------------- */
.margin-top-clear {
	margin-top: 0;
}

.margin-top-small {
	margin-top: var(--spacing-small);
}

.margin-top-med {
	margin-top: var(--spacing-med);
}

.margin-top-large {
	margin-top: var(--spacing-large);
}

.margin-bottom-med {
	margin-bottom: var(--spacing-med);
}

.margin-bottom-large {
	margin-bottom: var(--spacing-large);
}

.padding-height-small {
	padding-top: var(--spacing-small);
	padding-bottom: var(--spacing-small);
}

/* Layout
--------------------------------------------- */

.content-width-wide {
	width: var(--content-width-wide);
	max-width: 100%;
}

body.bp-blog-page div.content div.cac-container {
	padding-bottom: var(--spacing-small);
}

.wp-block-group .column-cards,
ul.item-list-sidescroll {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap: var(--spacing-small);
}

.wp-block-group .column-cards .wp-block-column,
ul.item-list-sidescroll li {
	flex: 0 0 auto;
	width: 70%;
}

@media screen and (max-width: 599px) {
	.wp-block-group .column-cards,
	ul.item-list.item-list-sidescroll {
		padding-right: var(--spacing-small);
	}
}

@media screen and (min-width: 600px) {
	.wp-block-group .column-cards,
	ul.item-list-sidescroll {
		flex-wrap: inherit;
		overflow-x: hidden;
	}

	.wp-block-group .column-cards .wp-block-column,
	ul.item-list-sidescroll li {
		flex: 1;
	}
}

.blue-bullet-list li::marker {
	color: #6FBCE9;
	font-size: 26px;
}

.blue-bullet:before {
	background-color: #6FBCE9;
	border-radius: 50%;
	content: '';
	display: inline-block;
	height: 10px;
	margin-right: 12px;
	vertical-align: middle;
	width: 10px;
}

/* Accounts for fixed toolbar on wide screens */
@media screen and (min-width: 600px) {
	.anchor {
		display: block;
		position: relative;
		top: -60px;
		visibility: hidden;
	}
}

@media screen and (min-height: 700px) {
	body.error404.logged-in .entry-content {
		padding-bottom: 15%;
	}
}

/* Typography
--------------------------------------------- */

body {
	font-family: var(--serif);
	line-height: 1.6em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--sans-serif);
	line-height: 1.3em;
	margin-bottom: .6em;
	margin-top: .6em;
}

.cac-button,
a.action-link,
.item-meta,
.select2,
.select2-container,
.font-poppins {
	font-family: var(--sans-serif);
}

.font-merriweather {
	font-family: var(--serif);
}

h1, .size-h1 { font-size: var(--size-h1); font-weight: normal; }
h2, .size-h2 { font-size: var(--size-h2); font-weight: normal; }
h3, .size-h3 { font-size: var(--size-h3); font-weight: 700; }
h4, .size-h4 { font-size: var(--size-h4); font-weight: 700; }
h5, .size-h5 { font-size: var(--size-h5); font-weight: 700; }
h6, .size-h6 { font-size: var(--size-h6); font-weight: 700; }
body { font-size: var(--size-text); }
.item-meta { font-size: var(--size-small-text-desktop); }

@media screen and (min-width: 600px) {
	h1, .size-h1 { font-size: var(--size-h1-desktop); }
	h2, .size-h2 { font-size: var(--size-h2-desktop); }
	h3, .size-h3 { font-size: var(--size-h3-desktop); }
	h4, .size-h4 { font-size: var(--size-h4-desktop); }
	h5, .size-h5 { font-size: var(--size-h5-desktop); }
	body { font-size: var(--size-text-desktop); }
	.item-meta { font-size: var(--size-small-text-desktop); }
}

a,
a:visited {
	color: #222;
	text-decoration: underline;
}

a:hover {
	color: var(--deep-blue);
	text-decoration: none;
}

a.blue-link {
	color: var(--deep-blue);
}

a.hover-flip,
#buddypress a.underline:hover {
	text-decoration: none;
}

#buddypress a.underline,
a.hover-flip:hover {
	text-decoration: underline;
}

a.action-link.action-link-has-count {
	text-decoration: none;
}

a.action-link.action-link-has-count span.action-link-text {
	text-decoration: underline;
}

a.action-link.action-link-has-count:hover span.action-link-text {
	text-decoration: none;
}

.type-page p a,
.font-bold {
	font-weight: 700;
}

.bp-screen-reader-text,
.screen-reader-text,
#profile-edit-form .description {
	border: 0;
	clip: rect(1px,1px,1px,1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal!important
}

.bp-screen-reader-text:focus,
.screen-reader-text:focus,
#profile-edit-form .description:focus {
	background-color: #ddd;
	clip: auto!important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000
}

/* Block styles
--------------------------------------------- */
.is-style-has-grey-background {
	background-color: #f5f5f5;
}

/* UI elements
--------------------------------------------- */

ul.item-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.count-block {
	background: var(--deep-blue);
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: var(--size-small-text);
	font-weight: 700;
	line-height: 17px;
	margin-left: 18px;
	padding: 2px 7px;
}

/* Ellipsis menu
--------------------------------------------- */

details.nav-menu {
	position: absolute;
	right: 0;
	top: 0;
}

details.nav-menu > summary {
	cursor: pointer;
	display: inline;
	list-style: none;
	position: relative;
}

details.nav-menu > summary::-webkit-details-marker {
	display: none;
}

details .nav-menu-inner {
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 6px;
	position: absolute;
	right: 0;
	top: 1.5rem;
	z-index: 1000;
}

details svg {
	fill: var(--dark-grey);
}

details ul {
	list-style: none;
	padding-left: 0;
}

details li,
#buddypress details li {
	border: 0;
	margin: 0;
	padding: 0;
}

.nav-menu-inner a {
	display: block;
	font-size: .9em;
	padding: .5em 1em;
}

/* Buttons and Forms
--------------------------------------------- */
[type="submit"],
input[type="button"],
input[type=file]::file-selector-button,
button.cac-button,
a.cac-button,
button.ges-change,
#message-recipients a.button,
#settings-form .two-factor-revalidate,
#two-factor-backup-codes-download-link,
.button-two-factor-backup-codes-generate,
.reset-totp-key,
#two-factor-heading + p + div.notice-warning a.button,
body.events.manage #buddypress .generic-button a,
.cacoinvites .generic-button a,
#bp-delete-cover-image,
.inline-edit-save .button-primary,
#login input[type="submit"],
button#nav-invite-anyone-groups-li {
	background: var(--black);
	border: 1px solid var(--black);
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-family: var(--sans-serif);
	font-size: var(--size-text-desktop);
	font-weight: 500;
	padding: 16px 32px;
	text-align: center;
	text-decoration: none;
}

[type="submit"]:hover,
input[type="button"]:hover,
input[type=file]::file-selector-button:hover,
.cac-button:hover,
#settings-form .two-factor-revalidate:hover,
.cacoinvites .generic-button a.caco-accept:hover,
#login input[type="submit"]:hover,
#two-factor-heading + p + div.notice-warning a.button:hover {
	background: var(--deep-blue);
	border-color: var(--deep-blue);
	color: #fff;
	text-decoration: none;
}

.cac-button.cac-button-secondary,
button.ges-change,
#message-recipients a.button,
#two-factor-backup-codes-download-link,
#two-factor-options input[type="submit"],
button.button-two-factor-backup-codes-generate,
.reset-totp-key,
body.events.manage #buddypress .generic-button a,
.cacoinvites .generic-button a.caco-reject,
#bp-delete-cover-image,
.inline-edit-save .button-primary,
button#nav-invite-anyone-groups-li,
#login input[type="submit"]:not(.button-primary) {
	background: none;
	color: var(--black);
}

.cac-button.cac-button-secondary:hover,
button.ges-change:hover,
#message-recipients a.button:hover,
#two-factor-options input[type="submit"]:hover,
.button-two-factor-backup-codes-generate:hover,
.reset-totp-key:hover,
body.events.manage #buddypress .generic-button a:hover,
.cacoinvites .generic-button a.caco-reject:hover,
#bp-delete-cover-image:hover,
.inline-edit-save .button-primary:hover,
button#nav-invite-anyone-groups-li:hover,
#login input[type="submit"]:not(.button-primary):hover {
	border-color: var(--deep-blue);
	color: var(--deep-blue);
}

#register-page .cac-button {
	padding: 8px var(--spacing-large);
	margin-top: var(--spacing-small);
}

input[type="file"]::file-selector-button,
.generic-button a,
#buddypress button,
#buddypress input[type="submit"],
#two-factor-backup-codes-download-link,
#message-recipients a.button,
#settings-form .two-factor-revalidate,
.reset-totp-key,
#two-factor-heading + p + div.notice-warning a.button,
.create-confirmation-actions a.cac-button,
.cacoinvites .generic-button a,
.inline-edit-save .button-primary,
a.cac-button-thin,
.manage-invites-cta #nav-invite-anyone-groups-li,
#bp-browse-button,
#delete-profile-photo-button a {
	padding: 8px 26px;
}

button.cac-button.cac-button-wide {
	border-radius: 10px;
	font-size: var(--size-tiny-text-desktop);
	line-height: var(--size-tiny-text-desktop);
	padding: 0 32px;
}

/* Button/input elements that should look like links */
input[type="submit"].button-link {
	background: none;
	border: none;
	color: var(--deep-blue);
	cursor: pointer;
	font-size: var(--size-text-desktop);
	font-weight: normal;
	padding: 0;
	text-decoration: underline;
}

a.add-icon,
a.edit-icon:before {
	background: var(--dark-grey);
	border-radius: 8px;
	bottom: -5px;
	color: #fff;
	display: inline-block;
	line-height: 1;
	padding: 4px;
	text-decoration: none;
}

a.add-icon {
	position: absolute;
	right: calc(50% - 75px - 15px);
}

.item-type-block-subsection a.add-icon {
	bottom: 0;
	left: calc(50% + 40px - 15px);
	right: auto;
}

a.add-icon:hover,
a.edit-icon:hover::before {
	background: var(--ally-grey);
}

a.add-icon span {
	font-size: 24px;
	height: 24px;
	width: 24px;
}

a.edit-icon:before {
	content: "\f540";
	font-family: dashicons;
	margin-right: .5rem;
}

/* Sites/Groups/Members blocks and cards
--------------------------------------------- */

.item-type-block {
	background: var(--xlt-grey);
	padding-bottom: var(--spacing-small);
}

.item-type-block .item-type-block-heading {
	background: var(--xlt-grey);
}

.item-type-block .item-type-block-heading h1 {
	line-height: 91px;
	margin: 0;
}

.item-type-block-more-link-desktop {
	display: none;
}

.item-type-block-subsection {
	background: var(--xlt-grey);
	padding: 30px 0;
}

.item-type-block-subsection .item-list {
	margin-top: 20px;
}

.item-type-block-subsection .item-list li {
	background: #fff;
	padding: 14px 14px 24px;
}

.item-type-block-subsection .item-list li h1 {
	margin-bottom: 6px;
}

.item-type-block-subsection .item-avatar {
	position: relative;
}

.item-type-block-subsection .item-avatar img {
	height: 80px;
	width: 80px;
}

.item-type-block-subsection .featured-item-card .item-avatar img {
	width: 100%;
	height: auto;
}

.item-type-block-subsection .item-source-title {
	font-size: var(--size-text-desktop);
	font-weight: 700;
	margin-top: 12px;
}

.featured-item-card .item-title-tablet {
	display: none;
	visibility: hidden;
}

@media screen and (min-width: 600px) {
	.item-type-block {
		background: #fff;
		position: relative;
	}

	.item-type-block .item-type-block-heading {
		margin-bottom: 48px;
	}

	.item-type-block .item-type-block-heading-content {
		align-items: center;
		display: flex;
		gap: var(--spacing-small);
		justify-content: space-between;
		margin: 0 auto;
	}

	.item-type-block-subsection {
		background: #fff;
		padding: 20px 0;
	}

	.item-type-block-subsection:not(:last-child) .cac-container:after {
		background: url('../img/dashed-border.png') repeat-x;
		content: '';
		display: block;
		height: 2px;
		margin-top: 40px;
	}

	.item-type-block-subsection h2 {
		margin-bottom: 21px;
		margin-top: 0;
	}

	.item-type-block-subsection .item-list {
		flex-wrap: wrap;
		gap: var(--spacing-small);
		margin: 36px 0 2em 0;
	}

	.item-type-block-subsection .item-list li {
		flex: 0 0 48%;
		padding: 0;
	}

	.item-type-block-subsection .item-list li article {
		display: flex;
		gap: var(--spacing-small);
	}

	.item-type-block-subsection .item-source-title {
		margin-top: 0;
	}

	.item-type-block-more-link-desktop {
		display: block;
	}

	.item-type-block-more-link-mobile {
		display: none;
	}

	.item-type-block-subsection-featured .item-list {
		overflow: visible;
	}

	.item-type-block-subsection-featured .item-list li h1 {
		margin-top: 0;
	}

	.item-type-block-subsection.item-type-block-subsection-featured .item-list li article {
		flex-direction: column;
	}

	.item-type-block-subsection .featured-item-card .item-avatar img {
		height: 150px;
		width: 150px;
	}

	.item-type-block-subsection-featured .item-list li:last-child {
		display: none;
	}

	.featured-item-card .item-avatar {
		display: flex;
		gap: var(--spacing-small);
	}

	.featured-item-card .item-title-tablet {
		display: block;
		visibility: visible;
	}

	.featured-item-card .item-title {
		display: none;
		visibility: hidden;
	}
}

@media screen and (min-width: 1024px) {
	.item-type-block-subsection.item-type-block-subsection-featured .item-list li article {
		flex-direction: row;
	}

	.featured-item-card .item-title-tablet {
		display: none;
		visibility: hidden;
	}

	.featured-item-card .item-title {
		display: block;
		visibility: visible;
	}
}

.card-extended {
	align-items: center;
	flex-direction: column;
	overflow-wrap: break-word;
	position: relative;
	padding-bottom: 65px;
	height: calc( 100% - 65px );
}

.item-list-cards .card-extended {
	gap: 0;
	justify-content: stretch;
}

.card-extended .item-title > a {
	text-decoration: none;
}

.card-is-hovered .card-extended .item-title > a {
	color: var(--deep-blue);
	text-decoration: underline;
}

.card-extended h1.item-source-title {
	word-break: break-word;
	font-weight: 700;
}

.member-card {
	display: flex;
	gap: 17px;
}

.member-card h1.item-source-title {
	font-weight: 700;
	margin-bottom: 8px;
	margin-top: 0;
	text-decoration: underline;
}

.item-meta-pronouns {
	font-weight: 700;
}

.member-cards .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--spacing-small);
	row-gap: var(--spacing-small);
}

.member-cards .member-card {
	column-gap: var(--spacing-x-small);
	line-height: 1.6;
}

.member-cards .member-card .item-source-title {
	margin-bottom: 5px;
	line-height: 1.48;
	font-size: var(--size-large-text-desktop);
}

.member-cards .member-card .item-avatar {
	width: 80px;
	height: 80px;
}

.member-cards .member-card .item-avatar img {
	width: 100%;
	height: auto;
}

.member-cards .member-card .item-details {
	width: 169px;
}

.member-cards .member-card .item-meta-pronouns {
	margin-bottom: 5px;
}

@media screen and (min-width: 600px) {
	.member-cards .wp-block-group__inner-container {
		row-gap: var(--spacing-med);
	}

	.item-type-block-subsection .item-list li .member-card h1,
	.member-card h1.item-source-title {
		font-size: 18px;
		margin-bottom: 8px;
	}

	.member-card.card-extended h1.item-source-title {
		font-size: var(--size-h5-desktop);
	}

	.item-meta-pronouns {
		margin-bottom: 8px;
	}

	.item-type-block-subsection .item-list li article.member-card {
		gap: var(--spacing-small);
	}

	.members .item-type-block-subsection .item-list {
		gap: 42px;
	}
}

/* Site/group creation
--------------------------------------------- */
.signup-choice {
	font-family: var(--sans-serif);
	padding: 48px 100px;
}

.signup-choice label {
	display: block;
	margin-bottom: 8px;
}

.signup-choice input[type="radio"] {
	margin-right: 8px;
}

.signup-existing-hidden,
.group-clone-gloss,
.group-clone-details-head,
.group-clone-site-list-item,
.cac-clone-notice-wrapper {
	display: none;
}

.selected-clone-site .groupblog-details-section > p,
.selected-clone-site .site-template-selector,
.selected-clone-site #cac-cc-link ~ p,
.doing-new-site-choice-clone .standard-form-main,
.doing-new-site-choice-clone .standard-form-main ~ p,
.doing-clone-fields .group-create-gloss,
.doing-clone-fields .groupblog-details-section > p,
.doing-clone-fields .site-template-selector,
.doing-clone-fields #cac-cc-link ~ p,
.selected-clone-groupblog .groupblog-details-section > p,
.selected-clone-groupblog .site-template-selector,
.selected-clone-groupblog #cac-cc-link ~ p,
.selected-connect-groupblog .groupblog-details-section,
.selected-connect-groupblog #cac-cc-blog-create,
.selected-connect-groupblog #groupblog-blog-privacy,
.selected-connect-groupblog .site-template-selector,
.selected-connect-groupblog .groupblog-settings-section,
.doing-new-group-choice-clone .group-create-gloss,
.doing-new-group-choice-clone #group-create-nav,
.doing-new-group-choice-clone .group-clone-gloss,
.doing-new-group-choice-clone .group-clone-details-head,
.doing-new-group-choice-clone #group-create-body,
.doing-new-groupblog-choice-existing .groupblog-details-section,
.doing-new-groupblog-choice-existing #cac-cc-blog-create,
.doing-new-groupblog-choice-existing #groupblog-blog-privacy,
.doing-new-groupblog-choice-existing .site-template-selector,
.doing-new-groupblog-choice-existing .groupblog-settings-section,
.doing-new-groupblog-choice-existing #previous-next,
.doing-new-groupblog-choice-clone .groupblog-details-section,
.doing-new-groupblog-choice-clone #cac-cc-blog-create,
.doing-new-groupblog-choice-clone #groupblog-blog-privacy,
.doing-new-groupblog-choice-clone .site-template-selector,
.doing-new-groupblog-choice-clone .groupblog-settings-section,
.doing-new-groupblog-choice-clone #previous-next,
.selected-clone-group-has-site-skip #group-create-nav,
.selected-clone-group-has-site .group-create-gloss {
	display: none;
}

.selected-clone-site .cac-clone-notice-wrapper,
.selected-clone-site #clone-select-wrapper,
.doing-clone-fields .cac-clone-notice-wrapper,
.selected-clone-groupblog .cac-clone-notice-wrapper,
.selected-connect-groupblog #connect-select-wrapper,
.doing-new-site-choice-clone #clone-select-wrapper,
.selected-clone-groupblog #clone-select-wrapper,
.doing-new-groupblog-choice-existing #connect-select-wrapper,
.doing-new-groupblog-choice-clone #clone-select-wrapper,
.selected-clone-group-has-site-skip .cac-clone-notice-wrapper,
.selected-clone-group-has-site .cac-clone-notice-wrapper,
.selected-clone-group-has-site .group-clone-gloss,
.selected-clone-group-has-site .group-clone-details-head,
.selected-clone-group-has-site #group-create-tabs li:first-of-type,
.selected-clone-group-has-site #group-create-tabs li:last-of-type,
.selected-clone-group .cac-clone-notice-wrapper,
.selected-clone-group .group-clone-gloss,
.selected-clone-group .group-clone-details-head,
.selected-clone-group .signup-existing-hidden,
.selected-clone-group-has-site .signup-existing-hidden,
.selected-clone-group-has-site-skip .signup-existing-hidden,
.doing-new-group-choice-clone .signup-existing-hidden {
	display: block;
}

.create-nav {
	background: var(--med-grey);
	font-family: var(--sans-serif);
	margin-bottom: 64px;
}

.create-nav ul {
	display: flex;
	gap: 48px;
	justify-content: center;
	list-style-type: none;
	padding: 0 36px;
}

.create-nav li {
	padding: 20px 24px;
}

.create-nav li.current {
	border-bottom: 3px solid var(--black);
}

.create-nav a {
	text-decoration: none;
}

.create-body {
	margin: 0 auto 100px auto;
	max-width: 800px;
}

.create-body h3 {
	margin-top: 48px;
}

.continue-error {
	display: none;
}

.disabled-form .continue-error,
#setupform .error {
	color: #f00;
	font-style: italic;
}

.disabled-form .continue-error {
	display: block;
}

.group-create .continue-error p {
	padding-right: 12px;
	text-align: right;
}

.create-previous-next {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.create-step-radios label {
	margin-bottom: 1em;
}

.group-settings-section {
	font-family: var(--sans-serif);
	margin-bottom: 48px;
}

.create-previous-next {
	font-family: var(--sans-serif);
}

.create-previous-next .create-previous-next-previous a {
	color: var(--deep-blue);
}

.create-confirm-message {
	background-image: url('../img/confetti@2x.png');
	background-repeat: no-repeat;
	background-size: cover;
	font-weight: 700;
    text-align: center;
	margin: 0 0 72px 0;
	padding: 140px 30px;
}

.create-confirm-message p {
    font-size: var(--size-large-text-desktop);
	font-family: var(--sans-serif);
}

.create-confirmation-actions {
	display: flex;
	gap: 24px;
	justify-content: center;
	margin-top: 32px;
}

textarea.has-character-count {
	margin-bottom: 4px;
}

.character-counter,
.site-description-character-count {
	color: var(--dark-grey);
	font-style: italic;
	padding-bottom: 2em;
	text-align: right;
}

.signup-clone-existing-gloss {
	color: var(--dark-grey);
	margin-top: 16px;
}

.signup-associated-site:not(:empty) {
	margin-top: 32px;
	margin-bottom: 16px;
}

.signup-existing-hidden {
	margin-top: 24px;
	padding-left: 4px;
}

.signup-existing-hidden .select2-container {
	margin-right: 1em;
	width: 380px;
}

#setupform #blogname {
	width: 300px;
}

#cac-site-description {
	margin-bottom: 0;
}

.site-description-character-count {
	font-family: var(--sans-serif);
	margin-top: 0;
	padding-bottom: 0;
}

#setupform h3 {
	font-size: var(--size-h5-desktop);
}

#setupform .error,
.input-notice {
	position: relative;
	top: -1.5em;
}

button.js-simple-tooltip {
	margin-left: 3px;
	vertical-align: super;
}

.cac-metadata-field:not(:last-child) {
	margin-bottom: 2em;
}

.cac-purpose-academic-term-part {
	width: 30%;
	float: left;
	margin-right: 15px;
}

.standard-form .cac-clone-notice {
	background-color: #fceae6;
	border: 1px solid #eec8be;
	border-radius: 10px;
	clear: right;
	color: #1a1a1a;
	margin-bottom: 2em;
	position: relative;
	padding: 14px 24px 14px 100px;
}

.standard-form .svg-icon-caution {
	height: 28px;
	left: 32px;
	position: absolute;
	top: calc(50% - 14px);
	width: 28px;
}

.standard-form .cac-clone-notice ul {
	list-style: initial;
	padding: 0;
}

.standard-form .cac-clone-notice li {
	margin-left: 23px;
}

body.buddypress.create #buddypress .select2-container--default .select2-selection--single,
body.buddypress.create #buddypress .select2-container--default .select2-selection--multiple,
body.buddypress.create #buddypress .select2-container--default.select2-container--focus .select2-selection--multiple {
	border-color: var(--black);
	border-radius: 0;
	padding: 5px 10px;
}

body.buddypress.create #buddypress .select2-container--default .select2-selection--single {
	font-size: 18px;
	height: 52px;
	padding: 11px 10px;
}

body.buddypress.create #buddypress .select2-selection__rendered:first-child {
	padding-left: 0;
}

body.buddypress.create #buddypress .select2-selection__choice:not(:last-child) {
	margin-right: 10px;
}

body.buddypress.create #buddypress .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	margin: 0 5px;
}

body.blogs.create-blog #buddypress.confirmation > p {
	display: none;
}

#site-create-body h4 {
	text-align: center;
}

@media screen and (max-width: 800px) {
	.signup-choice {
		padding: 24px;
	}

	.create-nav ul {
		gap: 0;
		flex-direction: column;
		padding: 0;
	}

	.create-nav li.current {
		border-bottom: none;
		border-left: 3px solid var(--black);
	}

	.create-step-radios {
		padding-left: 24px;
	}
}

/* Intro Banner
--------------------------------------------- */
.intro-banner {
	background: var(--lt-grey);
	padding: 34px 0 var(--spacing-small);
	position: relative;
}

.intro-banner:after {
	content: '';
	background-image: url( '../img/waves-light-mobile.png' );
	background-repeat: no-repeat;
	background-size: cover;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: .7;
	position: absolute;
	z-index: 1;
}

.intro-banner .cac-container {
	position: relative;
	z-index: 2;
}

.cac-content-wrapper {
	max-width: var(--content-width);
	margin: 0 auto var(--spacing-large) auto;
	padding: 0 var(--spacing-small );
}

@media screen and (min-width: 600px) {
	.intro-banner {
		align-items: center;
		display: flex;
	}

	.intro-banner:after {
		background-image: url( '../img/waves-light.png' );
	}

	.intro-banner .cac-container {
		width: 100%;
	}

	.intro-banner-actions {
		flex-direction: row;
		gap: 38px;
		margin-top: 20px;
	}

	.intro-banner-login {
		align-items: center;
		gap: var(--spacing-med);
		margin-top: 0;
	}

	.cac-content-wrapper {
		padding: 0;
	}
}

.register-section {
	margin-top: var(--spacing-med);
}

.register > .cac-content-wrapper {
	background: white;
	margin-top: -60px;
	padding: 50px 75px;
	position: relative;
	z-index: 5;
}

.register-section:first-of-type {
	margin-top: var(--spacing-large);
}

.register-page-wrap {
	background: var(--lt-grey);
	font-family: var(--sans-serif);
	font-size: var(--size-large-text-desktop);
	padding-bottom: 50px;
}

.register-page-wrap p {
	line-height: 1.6;
	margin: 2em 0;
}

.register-page-wrap h3 {
	font-weight: normal;
}

.register-page-wrap a {
	color: var(--deep-blue);
}

.register-progress-breadcrumb {
	font-family: var(--sans-serif);
	font-size: var(--size-text);
	text-transform: uppercase;
	margin-bottom: 42px;
}

.error.register-section {
	margin-top: var(--spacing-small);
}

.register-section h3 {
	margin-bottom: var(--spacing-small);
}

.register-avatar-upload {
	display: none;
}

.register-avatar-default,
.register-avatar-upload {
	font-family: var(--sans-serif);
}

.register-avatar-default h4,
.register-avatar-upload h4 {
	font-size: 15px;
	margin-top: var(--spacing-small);
	margin-bottom: 13px;
}

.register-avatar-default img {
	width: 150px;
	height: 150px;
}

#register-page .register-avatar-default .cac-button {
	margin-top: 0;
	margin-bottom: var(--spacing-small);
}

#register-page .cac-button.avatar-crop-submit,
#register-page .bp-uploader-window .cac-button {
	margin-bottom: var(--spacing-small);
}

.register-avatar-upload .submit {
	margin-top: 0;
}

.register-avatar-upload .bp-uploader-progress .error {
	background-color: var(--cuny-orange);
	border-color: var(--black);
	color: var(--black);
}

.register-avatar-upload .bp-avatar-status .bp-bar {
	background-color: var(--cuny-green);
}

.label,
label,
input,
textarea {
	font-family: var(--sans-serif);
}

.label,
label {
	font-size: 15px;
	line-height: 1.6;
	user-select: none;
}

input[type="text"],
input[type="url"],
input[type="tel"],
input[type="password"],
select,
textarea {
	width: calc( 100% - 20px );
	height: 28px;
	color: var(--black);
	background-color: #fff;
	border: 1px solid var(--black);
	font-size: 18px;
	line-height: 1.5;
	padding: 11px 10px;
	margin: 0 0 2rem 0;
}

textarea {
	height: 118px;
}

input[type="text"]::placeholder {
	color: var(--ally-grey);
}

select {
	height: 50px;
	width: 100%;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='13' height='8' viewBox='0 0 13 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.66309 0.166504L6.44434 4.93734L11.2256 0.166504L12.6943 1.63525L6.44434 7.88526L0.194336 1.63525L1.66309 0.166504Z' fill='%23222222'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position-x: calc(100% - 12px);
	background-position-y: center;
	padding-right: 30px;
}

input[type="checkbox"] {
	display: inline-block;
	opacity: 0; /* "Hide", but leave available for keyboard navigation. */
}

label input[type="checkbox"],
#two-factor-options input[type="checkbox"],
span.cac-subfield[data-subfield-type="oer"] input[type="checkbox"] {
	opacity: 1;
}

input[type="checkbox"] + label {
	display: inline-block;
	width: calc( 100% - 30px);
	position: relative;
	font-size: 15px;
	line-height: 1.6;
	padding-left: 4px;
}

/* The before pseudo element is the outer border of the checkbox. */
input[type="checkbox"] + label::before {
	content: " ";
	display: block;
	position: absolute;
	top: 5px;
	left: -21px;
	width: 15px;
	height: 15px;
	border: 1px solid var(--dark-grey);
	box-sizing: border-box;
	border-radius: 5px;
}

/* The after pseudo element is the inner border of the checkbox. */
input[type="checkbox"] + label::after {
	content: " ";
	background: transparent;
	border-color: transparent;
	display: block;
	position: absolute;
	width: 9px;
	height: 9px;
	top: 8px;
	left: -18px;
	border: 0;
	border-radius: 3px;
}

input[type="checkbox"]:checked + label::after {
	background: var(--cuny-blue);
	border-color: var(--cuny-blue);
}

input[type="checkbox"] + label:hover::after {
	box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.8);
	-webkit-box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.8);
	-moz-box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.8);
}

input[type="checkbox"]:focus + label::before {
	box-shadow: 0 0 0 3px var(--cuny-orange);
}

.error {
	font-family: var(--sans-serif);
	font-size: var(--size-text);
	padding: .5rem 0;
	color: red;
}

.editfield {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-bottom: var(--spacing-small);
}

.editfield label {
	order: 1;
	width: calc(100% - 15px);
}

.editfield .tooltip-anchor {
	order: 2;
	float: none;
}

.editfield .tooltip {
	order: 3;
	font-family: var(--sans-serif);
	color: var(--ally-grey);
	font-size: 15px;
}

.editfield input {
	order: 4;
	margin-bottom: 0;
}

.checkbox-options {
	margin-top: 5px;
}

.register-avatar-upload .drag-drop #drag-drop-area {
	border: 1px dashed #cecece;
}

.register-avatar-upload .drag-drop .drag-drop-inside {
	padding: 64px 0 32px 0;
}

.register-avatar-upload .drag-drop .drag-drop-inside p {
	color: var(--black);
	font-size: 15px;
	font-family: var(--sans-serif);
	font-weight: 700;
}

.register-avatar-upload .drag-drop-buttons {
	display: none;
}

.register-avatar-upload .bp-avatar div.avatar-crop-management,
.register-avatar-upload .bp-avatar div#avatar-to-crop {
  float: none;
  margin: 0 auto var(--spacing-small);
}

.register-avatar-upload .avatar-crop-actions {
	display: inline-block;
}

#bp-tos-check {
	margin-top: var(--spacing-small);
	font-weight: 700;
}

#bp-tos-check a,
#bp-tos-check a:visited {
	color: var(--deep-blue);
}

#bp-tos-check + .submit {
	margin-top: 0;
}

.tooltip-anchor {
	text-decoration: none;
	float: right;
	font-size: 0;
	background: var(--deep-blue);
	width: 15px;
	height: 15px;
	border-radius: 15px;
	margin-top: 5px;
	text-align: center;
	color: #fff;
	font-weight: 700;
}

.tooltip-anchor svg {
	height: 10px;
	width: 15px;
	margin-left: .5px; /* It feels weird to use a half-pixel, but it looks right. */
}

.tooltip {
	display: none;
}

.tooltip p,
.input-notice,
.domain-change-notice {
	font-family: var(--sans-serif);
	font-size: 13px;
	color: var(--dark-grey);
	margin: 10px 0;
}

.tooltip .tooltip-emphasis {
	font-weight: 700;
}

input[type="text"].password-entry,
input[type="password"] {
	margin-bottom: 0;
}

#pass-strength-result {
	font-family: var(--sans-serif);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 14px;
	line-height: 1.5;
	margin-top: 3px;
}

#pass-strength-result.strong {
	color: var(--cuny-green-dark);
}

/* Step Styling */
#register-page .step{
	padding-bottom: 3em;
	margin-bottom: 3em;
	margin-top: 3em;
}

#register-page .step:after {
	content: "";
	display: table;
	clear: both;
}

#register-page .step-number{
	border: 5px var(--dark-grey) solid;
	border-radius: 50%;
	width: 2em;
	height: 2em;
	line-height: 1.8;
	text-align: center;
	font-size: 3em;
	float: left;
}

#register-page .step-number.complete{
	border-color: var(--cuny-green);
}

#register-page .step-description{
	font-size: 1.2em;
	margin-left: 7em;
}

/* Directories
--------------------------------------------- */

.directory-nav-tabs {
	display: flex;
	flex-direction: column;
	font-family: var(--sans-serif);
	font-size: var(--size-large-text);
}

.directory-nav-tabs ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

.directory-nav-tabs ul li {
	margin-right: 12px;
}

.directory-nav-tabs li.selected,
.directory-nav-tabs li.current {
	border-bottom: 3px solid var(--cuny-blue);
}

.directory-create-link {
	margin-bottom: 32px;
	order: 0;
}

.directory-create-link a.cac-button {
	padding: 6px 24px;
}

.directory-nav-tabs ul a {
	align-items: flex-start;
	display: flex;
	gap: 6px;
	text-decoration: none;
	padding-bottom: 12px;
}

.directory-tab-count,
.directory-nav-tabs li span:last-child
 {
	background: var(--dark-grey);
	border-radius: 5px;
	color: #fff;
	font-size: var(--size-small-text);
	font-weight: 600;
	line-height: 18px;
	margin-top: -3px;
	padding: 2px 4px 0;
}

.directory-content {
	background: var(--lt-grey);
}

.directory-content .pagination {
	display: flex;
	flex-direction: row;
	font-family: var(--sans-serif);
	font-size: var(--size-small-text-desktop);
	justify-content: space-between;
	padding: 20px 0 30px 0;
}

.directory-content .pagination-links {
	display: flex;
}

.directory-content .page-numbers svg {
	height: 16px;
	margin-top: 3px;
	width: 16px;
}

.page-numbers {
	border: 1px solid transparent;
	padding-left: 8px;
	padding-right: 8px;
}

.page-numbers.prev,
.page-numbers.dots,
.page-numbers.next {
	padding: 0;
}

.page-numbers.current {
	border-color: var(--black);
}

.directory-content a {
	text-decoration: none;
}

.directory-content a:hover {
	text-decoration: underline;
}

.directory-content .item-meta a {
	text-decoration: underline;
}

.directory-content .item-meta a:hover {
	text-decoration: none;
}

.directory-notices {
	display: flex;
	flex-direction: column;
	font-family: var(--sans-serif);
	font-size: var(--size-large-text);
	gap: 12px;
	margin-top: 24px;
}

.directory-notice {
	background: var(--med-grey);
	padding: 12px 24px;
}

.directory-notice a {
	text-decoration: underline;
}

.directory-notice a:hover {
	text-decoration: none;
}

.directory-tools {
	display: flex;
	flex-direction: column;
	font-family: var(--sans-serif);
	font-size: var(--size-tiny-text-desktop);
	justify-content: space-between;
	padding-top: 25px;
}

.directory-filters-legend {
	line-height: 40px;
}

.directory-filters-inputs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.directory-filters-inputs-inputs {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	line-height: 40px;
}

.directory-filter {
	margin-bottom: 12px;
}

.directory-filters-inputs input {
	font-family: var(--sans-serif);
	font-weight: 500;
}

.directory-filters-inputs input,
.directory-filters-inputs select {
	margin-bottom: 0;
}

.directory-filters-inputs label {
	line-height: 40px;
}

.directory-filters-inputs button {
	border: none;
	border-radius: 0;
	font-family: var(--sans-serif);
	height: 40px;
	line-height: 40px;
	padding: 0 12px;
	white-space: nowrap;
}

.directory-filter-dropdown {
	height: 31px;
	overflow: visible;
	position: relative;
}

.directory-filters-inputs h3.directory-filter-dropdown-title {
	font-size: var(--size-tiny-text-desktop);
	margin: 0;
}

.directory-filters-inputs button.directory-filter-dropdown-button {
	background: #fff;
	border: 1px solid var(--med-grey);
	border-radius: 5px;
	color: var(--dark-grey);
	font-weight: 500;
	width: 141px;
	position: relative;
	padding-right: 30px;
	text-align: left;
}

.directory-filter-public-courses {
	flex-basis: 300px;
}

.directory-filters-inputs #directory-filter-disciplinary-cluster button.directory-filter-dropdown-button {
	width: 171px;
}

.directory-filter-button-text-truncate {
	display: inline-block;
	white-space: nowrap;
	overflow: hidden;
	width: 105px;
	text-overflow: ellipsis;
}

#directory-filter-disciplinary-cluster .directory-filter-button-text-truncate {
	width: 135px;
}

.directory-filter-selected-count {
	display: inline-block;
	padding-left: 5px;
	overflow: hidden;
	white-space: nowrap;
}

.directory-filter-dynamic-text.has-multiple-selected .directory-filter-button-text-truncate {
	width: 80px;
}

.directory-filter-dropdown-button:after {
	color: #666;
	content: '\f347';
	font-family: 'dashicons';
	font-size: 9px;
	position: absolute;
	right: 9px;
}

button.directory-filter-dropdown-button[aria-selected="false"]:hover {
	border-color: var(--dark-grey);
}

.directory-filters-inputs .has-active-filters button.directory-filter-dropdown-button {
	color: var(--black);
	font-weight: 600;
}

button.directory-filter-dropdown-button[aria-selected="true"] {
	border-bottom: 12px solid #fff;
	border-radius: 5px 5px 0 0;
	height: 52px;
	z-index: 11;
}

.directory-filters-inputs .has-active-filters button.directory-filter-dropdown-button[aria-selected="false"]:hover {
	border-color: #555;
}

.directory-filter-options {
	background: #fff;
	border: solid 1px var(--med-grey);
	top: 51px;
	height: 200px;
	padding: 0;
	position: absolute;
	overflow: hidden;
	width: 280px;
	z-index: 10;
}

.directory-filter-options-scrollable {
	height: calc(100% - 20px);
	padding: 10px 12px;
	overflow-y: scroll;
}

.directory-filter-options ::-webkit-scrollbar {
    width: 8px;
}

.directory-filter-options ::-webkit-scrollbar-track {
    background: #fff;
}

.directory-filter-options ::-webkit-scrollbar-thumb {
    border-radius: 4px;
	background: var(--med-dark-grey);
}

.directory-filter-options[aria-hidden="true"] {
	display: none;
}

.directory-filter-type-checkbox label {
	color: var(--dark-grey);
	display: flex;
	align-items: center;
}

.directory-filter-options ul {
	display: flex;
	flex-direction: column;
	list-style: none;
	padding-left: 0;
}

.directory-filter-options label {
	display: block;
	margin-left: 30px;
	text-indent: 0px;
	font-size: var(--size-tiny-text-desktop);
	font-weight: normal;
}

.directory-filter-options li {
	margin-bottom: 17px;
}

.directory-filter-checkbox {
	display: flex;
	position: relative;
}

.directory-filter-checkbox input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

.directory-filter-checkbox input:checked ~ label {
	color: var(--black);
	font-weight: 600;
}


input.directory-filter-input-keyword {
	background: #fff url(../img/search-icon.svg) no-repeat left 13px center;
	background-size: 15px 15px;
	border: 1px solid var(--med-grey);
	border-radius: 5px;
	font-size: var(--size-tiny-text-desktop);
	height: 32px;
	line-height: 32px;
	width: 171px;
	padding: 4px 13px 0 41px;
}

input.directory-filter-input-keyword:focus {
	outline: solid 1px var(--dark-grey);
}

.directory-filters-inputs button.directory-filter-submit {
	background: var(--black);
	cursor: pointer;
}

.directory-filters-inputs button.directory-filter-submit:hover {
	background: var(--deep-blue);
}

.directory-filters-inputs button.directory-filter-submit[aria-disabled="true"] {
	background: var(--med-dark-grey);
	cursor: auto;
}

.directory-filters-inputs button.directory-filter-reset {
	background: none;
	cursor: pointer;
	margin-right: 15px;
	padding: 0;
	text-decoration: underline;
}

.directory-filters-inputs button.directory-filter-reset:hover {
	text-decoration: none;
}

.directory-filters-inputs button.directory-filter-reset[aria-disabled="true"]:hover {
	text-decoration: underline;
}

.directory-filters-inputs button.directory-filter-reset[aria-disabled="true"] {
	color: var(--med-dark-grey);
	cursor: auto;
}

.directory-order-by-container,
#subnav li.last,
#subnav li.last form {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
	line-height: 40px;
	margin-top: 12px;
}

.directory-order-by-container label,
#subnav label {
	font-size: var(--size-tiny-text-desktop);
	white-space: nowrap;
}

.directory-order-by-container select,
#subnav select {
	background-color: #fff;
	color: rgb(68, 68, 68);
	font-size: var(--size-tiny-text-desktop);
	font-weight: 500;
	height: 40px;
	margin-bottom: 0;
	margin-left: 12px;
}

.directory-order-by-container select,
.directory-order-by-container .select2-container--default .select2-selection--single,
#subnav select {
	border: 1px solid var(--med-grey);
	border-radius: 5px;
	height: 40px;
	line-height: 40px;
	padding-top: 0;
	padding-bottom: 0;
	position: relative;
}

.directory-order-by-container .select2-container--default .select2-selection--single {
	padding: 0 12px;
}

.directory-order-by-container .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 40px;
	padding-left: 0;
}

.directory-order-by-container .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 0;
}

.directory-order-by-container .select2-container--default .select2-selection--single .select2-selection__arrow:after {
    color: #666;
    content: '\f347';
    font-family: 'dashicons';
    font-size: 9px;
    position: absolute;
    right: 9px;
}

.directory-order-by-container .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border: none;
}

.directory-order-by-container .select2-dropdown {
	border: solid 1px var(--med-grey);
}

.directory-order-by-container .select2-results {
	font-family: var(--sans-serif);
}

.directory-order-by-container .select2-results__option {
	color: var(--dark-grey);
	line-height: 1.3em;
	padding: 8px 14px;
}

.directory-order-by-container .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: #fff;
	color: var(--almost-black);
}

.directory-order-by-container .select2-container--default .select2-results__option[aria-selected=true] {
	background: #fff;
	color: var(--almost-black);
}

.directory-featured-panel {
	background: var(--med-dark-grey);
	margin-bottom: var(--spacing-small);
	margin-top: var(--spacing-small);
	padding: var(--spacing-small) 0 var(--spacing-med) 0;
}

.directory-featured-panel h3 {
	font-size: var(--size-text-desktop);
	margin-bottom: var(--spacing-small);
}

@media screen and (min-width: 600px) {
	.directory-notices {
		font-size: var(--size-large-text-desktop);
	}

	.directory-tools {
		flex-direction: row;
		padding-top: 36px;
	}

	.directory-order-by-container {
		margin-top: 0;
	}

	.directory-filter-options-title {
		display: none;
	}

	.directory-nav-tabs {
		align-items: flex-end;
		flex-direction: row;
	}

	.directory-nav-tabs ul a {
		font-size: var(--size-large-text-desktop);
		padding-bottom: 0;
	}

	.directory-create-link {
		padding-bottom: 10px;
		margin-bottom: 0;
		margin-left: auto;
		order: 1;
		font-size: 18px;
	}

	.courses-directory-filters .directory-filters-inputs-inputs > div:nth-last-of-type(2) {
		margin-right: 40px;
	}

	.courses-directory-filters .directory-filters-inputs {
		margin-right: 100px;
	}
}

@media screen and (max-width: 460px) {
	.directory-content .pagination {
		align-items: center;
		flex-direction: column;
		gap: 1em;
	}
}

.item-list-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 36px;
}

.item-list.item-list-cards {
	padding-top: 36px;
}

.directory-featured-panel .item-list.item-list-cards {
	padding-top: 0;
}

.item-card {
	background: #fff;
}

.item-card-top-content {
	display: flex;
	flex-direction: column;
	gap: 17px;
	padding-top: 20px;
	height: 100%;
	width: 100%;
}

.course-card .item-card-top-content {
	padding-top: 0;
}

.item-card.card-is-hovered {
	box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.25);
	-webkit-box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.25);
}

.item-card a:focus {
    text-decoration: underline;
}

.item-card:focus-within {
	box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.25);
	-webkit-box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.25);
}

.item-card:focus-within a:focus {
    text-decoration: none;
}

.item-card h1.item-source-title {
	font-size: var(--size-h5-desktop);
}

.item-card .item-avatar {
	position: relative;
	text-align: center;
}

.item-card.course-card .item-avatar img {
	width: 100%;
}

.item-card .item-details {
	padding: 0 12px;
	text-align: center;
}

.item-card .item-details > div:last-child {
	padding-bottom: 1em;
}

.item-card .item-description {
	margin-top: 12px;
}

.item-actions {
	border-top: 1px solid #cecece;
	font-family: var(--sans-serif);
	font-size: var(--size-tiny-text-desktop);
	height: 64px;
	margin-top: auto;
	position: absolute;
	left: 0;
	bottom: 0;
	text-align: center;
	width: 100%;
}

.item-card .generic-button {
	background: #fff;
	height: 100%;
	position: relative;
	width: 100%;
}

.item-card .has-multiple-actions  {
	background: #cecece;
	display: flex;
	gap: 1px;
}

.item-card .has-multiple-actions .generic-button {
	flex: 0 0 50%;
}

.item-card .generic-button a {
	align-items: center;
	gap: 6px;
	justify-content: center;
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.item-card .has-multiple-actions .generic-button a {
	flex-direction: column;
	gap: 0;
}

.item-card .generic-button .link-text {
	font-weight: 700;
	text-decoration: underline;
}

.item-card .generic-button a:hover {
	background: var(--deep-blue);
	color: #fff;
	text-decoration: none;
}

@media screen and (min-width: 600px) {
	.item-list-cards {
		grid-template-columns: repeat( 2, minmax(0, 1fr) );
	}

	.item-card .item-details {
		padding-bottom: 48px;
	}

	.event-card .item-details {
		padding-bottom: 12px;
	}

	/* At desktop sizes, the featured panel should behave like the rest of the card grid */
	.directory-featured-panel ul.item-list-sidescroll {
		display: grid;
	}

	.directory-featured-panel ul.item-list-sidescroll li {
		width: auto;
	}

	.directory-featured-panel ul.item-list-sidescroll li:nth-child(3),
	.directory-featured-panel ul.item-list-sidescroll li:nth-child(4) {
		display: none;
	}
}

@media screen and (min-width: 900px) {
	.item-list-cards {
		grid-template-columns: repeat( 3, minmax(0, 1fr) );
	}

	.directory-featured-panel ul.item-list-sidescroll li:nth-child(3) {
		display: inherit;
	}
}

@media screen and (min-width: 1200px) {
	.item-list-cards {
		grid-template-columns: repeat( 4, minmax(0, 1fr) );
	}

	.directory-featured-panel ul.item-list-sidescroll li:nth-child(4) {
		display: inherit;
	}
}

/* Single pages
--------------------------------------------- */

#subnav ul {
	margin-bottom: 0;
}

#subnav label {
	flex-grow: 1;
	text-align: right;
}

#subnav select {
	flex-basis: max-content;
	margin-left: 0;
}

/* Events
--------------------------------------------- */

.events-directory-content {
	padding-top: 9px;
}

.events-directory-content .fc-toolbar {
	display: none;
}

.events-directory-content .month-nav-content {
	display: flex;
}

h3.month-name {
	margin: 0 9px;
}

.month-nav button,
.month-nav a.button {
	background-color: transparent;
    background-position: top 1px center;
	background-repeat: no-repeat;
	border: 0;
	cursor: pointer;
	height: 30px;
	padding: 0;
	width: 30px;
}

.prev-button {
	background-image: url('../img/arrow_backward_24px.png');
}

.next-button {
	background-image: url('../img/arrow_forward_24px.png');
}

.events-view-toggle {
	background-color: #fff;
	background-position: center center;
	background-repeat: no-repeat;
	border: 1px solid transparent;
	display: inline-block;
	height: 40px;
	margin-right: 2px;
	width: 40px;
}

.events-view-toggle:hover {
	border-color: var( --med-dark-grey );
}

.events-view-toggle-list {
	background-image: url( '../img/icon-list.svg' );
}

.events-view-toggle-calendar {
	background-image: url( '../img/icon-calendar.svg' );
}

.events-view-toggle-current {
	background-color: var( --med-grey );
	border-color: var( --med-dark-grey );
}

.events-directory-calendar-view {
	margin-top: 18px;
	padding-bottom: 3em;
}

.eo-fullcalendar-reset .fc-content-skeleton td.fc-day-number {
	padding-right: 10px !important;
	padding-top: 10px !important;
}

.eo-fullcalendar-reset .fc-view-container th.fc-day-header {
	background: var(--med-grey);
	padding: 10px 0 13px !important;
}

.fc-day-grid-event {
    background-color: var(--black) !important;
    border-color: var(--black) !important;
    border-radius: 6px !important;
}

.events-directory-calendar-view .fc-basic-view tbody .fc-row {
	min-height: 200px;
}

.fc td.fc-widget-header {
	border: 0;
}

.events-directory-list-view.ajax-loading {
	opacity: .5;
}

.events-directory-calendar-view .fc-unthemed td {
	border-color: var(--lt-grey);
	border-width: 2px;
}

.events-directory-calendar-view .eo-fullcalendar .fc-event {
	border-radius: 10px;
	font-size: 12px;
	margin-left: 13px;
	margin-right: 13px;
	max-height: 28px;
	padding: 3px 6px;
	text-overflow: ellipsis;
}

.page .qtip-eo {
	border-color: var(--med-grey);
	font-size: var(--size-text-desktop);
	line-height: 1.8rem;
	padding: 17px;
	margin-top: 8px;
	text-align: center;
}

.page .qtip-eo .qtip-content {
	text-align: center;
}

.page .qtip-eo .qtip-titlebar {
	background-color: #fff;
	padding: 0 10px;
	font-family: var(--sans-serif);
	font-size: var(--size-large-text-desktop);
	margin-bottom: .5em;
	text-decoration: underline;
}

.page .qtip-eo .qtip-content span:not(.event-recurring-label) {
	display: block;
}

.page .qtip-eo .qtip-content span.event-recurring-label {
	margin-bottom: .5em;
}

.page .eo-tooltip-description {
	font-family: var(--serif);
}

.page .eo-tooltip-date {
	font-family: var(--sans-serif);
}

.item-card.event-card {
	height: 100%;
}

.item-card.event-card .item-avatar {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 123px;
	width: 100%;
}

.event-card .item-card-top-content {
	padding-top: 0;
}

.event-card .item-card-top-content {
	position: relative;
}

.event-card .item-card-top-content .event-date {
	align-items: center;
	background: var( --black );
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: 18px;
	padding-top: 8px;
	position: absolute;
	right: 0;
	top: 0;
	height: 58px;
	width: 52px;
	z-index: 2;
}

.event-card .item-card-top-content .event-date .event-date-day {
	font-size: 24px;
}

.event-card .item-meta > div {
	margin-bottom: 16px;
}

.event-card .event-description {
	font-family: var(--serif);
	word-break: break-word;
}

.single-event .directory-content {
	padding-bottom: 60px;
	padding-top: 30px;
}

.single-event h2.posttitle {
	margin-top: 0;
}

.single-event-content {
	background: #fff;
	max-width: 870px;
	margin: 0 auto;
	padding: 30px;
}

.single-event-content .event-description img {
	height: auto;
	max-width: 100%;
}

.single-event-content .event-meta {
	margin-bottom: 20px;
}

.single-event-content .event-recurrence {
	font-style: italic;
	line-height: 2;
	margin-bottom: 1.4em;
}

.single-event-content .event-date,
.single-event-content .event-time,
.single-event-content .event-venue {
	font-weight: 700;
}

.event-columns {
	display: flex;
	gap: 30px;
}

.event-sidebar {
	width: 250px;
}

.event-main {
	flex-grow: 1;
}

.event-sidebar .event-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 245px;
	width: 245px;
}

.event-sidebar-meta {
	font-size: var( --size-small-text-desktop );
	margin-top: 20px;
}

.event-ical-link {
	background-image: url( '../img/icon-event.svg' );
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 18px;
	padding-left: 30px;
	padding-top: 1px;
}

.event-subsection {
	margin-top: 40px;
}

.event-subsection h4 {
	margin-bottom: 20px;
}

.single-event-content .member-card,
.single-event-content .group-card {
	display: flex;
	gap: 17px;
	max-width: 350px;
}

.single-event-content .member-card .item-avatar img,
.single-event-content .group-card .item-avatar img {
	height: 80px;
	width: 80px;
}

.single-event-content .group-card .item-details {
	align-items: center;
	display: flex;
	justify-content: center;
}

.single-event-content .group-card .item-title a {
	text-decoration: underline;
}

.single-event-content .group-card .item-title h1 {
	font-size: 18px;
	margin-top: 0;
}

.single-event-content .group-card .item-timestamp {
	display: none;
}

.event-recurring-label {
	background: #D4DCF1;
	border-radius: 6px;
	display: inline-block;
	font-family: var( --sans-serif );
	font-size: .95em;
	font-style: normal;
	padding: 3px 12px;
}

#events-dir-list .item-card .event-recurring-label {
	margin-top: 5px;
}

#content .single-event-content .event-recurring-label {
	float: left;
	font-style: normal;
	line-height: 1;
	margin-right: .5em;
	padding: 6px 14px;
	position: relative;
	top: 2px;
}

#eo-event-recurrence + .select2-container--default .select2-selection--single,
#eo-event-recurrence + .select2-container--default + .select2-container .select2-dropdown,
#venue_select {
	border-color: var(--black);
	border-radius: 0;
}

#post_author_override + .select2-container--default .select2-selection--single,
#post_author_override + .select2-container--default + .select2-container .select2-dropdown {
	border-color: #aaa;
}

@media screen and (max-width: 800px) {
	.events-directory-content .directory-tools {
		flex-direction: row;
		flex-flow: wrap;
	}

	.events-directory-content .events-directory-filters {
		flex: 1 0 50%;
		width: 50%;
	}

	.events-directory-content .calendar-view-options {
		order: 1;
		flex: 0 0 100px;
		width: 50%;
		text-align: right;
	}

	.events-directory-content .month-nav {
		flex: 0 0 100%;
		order: 2;
		padding-top: 12px;
	}

	.events-directory-content .month-nav-content {
		justify-content: center;
	}

	.event-columns {
		flex-direction: column;
	}

	.single-event .member-card h1.item-source-title {
		font-size: var( --size-h6 );
	}
}

/* ugly */
#content:has(.directory-no-events) .events-directory-filters {
	display: none;
}

.directory-no-events {
	margin: 0 auto;
	padding-top: 4em;
	padding-bottom: 7em;
	text-align: center;
	width: 500px;
}

.directory-no-events h3 {
	font-weight: normal;
}

.directory-no-events a {
	margin-top: 1em;
}

.directory-no-events span {
	text-transform: uppercase;
}

@media screen and (max-width: 500px) {
	.directory-no-events {
		padding: 0 0 3em;
		width: 100%;
	}
}

/* Latest News
--------------------------------------------- */

.latest-news {
	background: #fff;
	padding: 38px 0 28px;
}

.latest-news .cac-container {
	position: relative;
}

.latest-news h1 {
	margin-top: 0;
	margin-bottom: var(--spacing-small);
}

.latest-news-items {
	gap: 35px;
	margin-bottom: 22px;
}

.latest-news-items li {
	width: 80%;
}

.latest-news-items img {
	height: 220px;
	margin-bottom: 5px;
	object-fit: cover;
	width: 100%;
}

.latest-news-items a {
	text-decoration: none;
}

@media screen and (min-width: 600px) {
	.latest-news-items li {
		width: auto;
	}

	.more-commons-news-link {
		position: absolute;
		top: 0;
		right: var(--spacing-small);
	}
}

/* Featured cards in columns
--------------------------------------------- */
.wp-block-group .wp-block-group__inner-container {
	position: relative;
}

.wp-block-group .more-link {
	margin: 0;
	font-family: var(--sans-serif);
}

.wp-block-group .more-link a {
	font-weight: 400;
}

@media screen and (min-width: 600px) {
	.wp-block-group .more-link {
		position: absolute;
		top: 0;
		right: var(--spacing-small);
	}
}

.wp-block-group .column-cards {
	display: flex;
	flex-wrap: inherit;
	gap: var(--spacing-small);
	align-items: baseline;
	margin-top: var(--spacing-small);
}

.wp-block-group .column-cards .wp-block-column {
	width: 70%;
}

.wp-block-group .column-cards figure {
	margin: 0;
	line-height: 0; /* Eliminate spacing via white-space. */
}

.wp-block-group .column-cards figure img {
	object-fit: cover;
	height: 220px;
	width: 100%;
}

.column-cards a {
	text-decoration: none;
}

.column-cards .size-h5 {
	background: #fff;
	margin-top: 0;
	margin-bottom: 0;
	text-align: center;
	padding: var(--spacing-x-small);
	min-height: var(--spacing-large);
}


/* Building Blocks
--------------------------------------------- */
.building-blocks {
	padding: 70px 0;
	text-align: center;
}

.building-blocks h1 {
	margin-bottom: 37px;
}

.building-block-numbers {
	display: grid;
	font-size: 20px;
	gap: 20px 38px;
	grid-template-columns: 1fr 1fr;
	margin-top: var(--spacing-small);
	text-align: left;
}

.building-block-count {
	display: block;
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 12px;
}

@media screen and (min-width: 600px) {
	.building-blocks h2 {
		margin-top: 0;
	}

	.building-block-numbers {
		margin-top: 0;
	}
}

@media screen and (min-width: 1024px) {
	.building-blocks {
		padding: 20px 0 30px;
		text-align: left;
	}

	.building-block-numbers {
		gap: 86px;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.building-blocks-in-numbers {
		display: flex;
		gap: 36px;
		align-items: flex-start;
	}
}

@media screen and (max-width: 599px) {
	.building-block-numbers {
		padding-left: var(--spacing-large);
	}
}

.building-blocks-is-centered {
	text-align: center;
}

.building-blocks-is-centered .building-blocks-in-numbers {
	justify-content: center;
}

/* Dark Waves
--------------------------------------------- */
.is-style-has-dark-waves,
.has-dark-waves {
	background-color: var(--black);
	color: #fff;
	position: relative;
}

.is-style-has-dark-waves:after,
.has-dark-waves:after {
	content: '';
	background-image: url( '../img/waves-dark-mobile.png' );
	background-repeat: no-repeat;
	background-size: cover;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: .5;
	position: absolute;
	z-index: 1;
}

.is-style-has-dark-waves .inline-navigation,
.is-style-has-dark-waves .cac-container,
.has-dark-waves .inline-navigation,
.has-dark-waves .cac-container {
	position: relative;
	z-index: 2;
}

.is-style-has-dark-waves a,
.is-style-has-dark-waves a:visited,
.is-style-has-dark-waves a:active,
.has-dark-waves a,
.has-dark-waves a:visited,
.has-dark-waves a:active {
	color: #fff;
}

.is-style-has-dark-waves a:hover,
.has-dark-waves a:hover {
	color: #fff;
}

.inline-navigation {
	display: flex;
	flex-direction: column;
	list-style: none;
	justify-content: space-evenly;
	max-width: 600px;
	height: 32px;
	margin: 0 auto;
	padding: var(--spacing-large) 0;
	font-family: var(--sans-serif);
	font-size: var(--size-h5);
	line-height: 1.6;
	text-align: center;
}

.inline-navigation-about {
	max-width: 800px;
}

@media screen and (min-width: 600px) {
	.is-style-has-dark-waves:after,
	.has-dark-waves:after {
		background-image: url( '../img/waves-dark.png' );
	}

	.inline-navigation {
		flex-direction: row;
		padding: 50px 0;
		text-align: initial;
	}

	.inline-navigation-about {
		height: auto;
		padding: var(--spacing-small) 0;
	}
}


/* CV
--------------------------------------------- */

.cv-callout {
	background-color: #D9D9D9;
	padding: 20px;
	position: relative;
}

.cv-callout:after {
	content: '';
	background-image: url( '../img/bg-cv-home.png' );
	background-repeat: no-repeat;
	background-size: cover;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	position: absolute;
	z-index: 1;
}

.cv-callout .cac-container {
	background: #fff;
	clip-path: polygon(45px 0%, 100% 0%, calc(100% - 45px) 100%, 0% 100%);
	color: var(--black);
	max-width: 890px;
	position: relative;
	text-align: center;
	z-index: 2;
}

@media screen and (max-width: 890px) {
	.cv-callout .cac-container {
		max-width: unset;
	}
}

@media screen and (max-width: 520px) {
	.cv-callout .cac-container {
		clip-path: polygon(15px 0%, 100% 0%, calc(100% - 15px) 100%, 0% 100%);
	}
}

.cv-callout:before {
	background-image: url( '../img/new.png' );
	background-repeat: no-repeat;
	background-size: cover;
	content: '';
	height: 47px;
	left: calc(50% - 24px);
	position: absolute;
	top: 12px;
	width: 48px;
	z-index: 3;
}

.cv-callout h1 {
	margin-bottom: .6em;
	padding: 2rem 0 0 0;
}

span#new-cv {
	background: #D42B19;
	color: #fff;
	display: inline-block;
	font-size: .7rem;
	font-weight: bold;
	line-height: 1;
	margin-right: .25rem;
	margin-top: 2px;
	padding: 3px 6px;
	text-transform: uppercase;
	vertical-align: text-top;
}

/* About page specific
---------------------------------- */

.wp-block-cover img {
	width: var(--container-width);
	max-width: 100%;
	height: auto;
}

/* Accessibility fixes
---------------------------------- */

/* Contrast fix */
#wpadminbar .screen-reader-shortcut {
	background: #595959;
}
