:root {
	--overtop-sans: "SF Pro TC", "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "PingFang TC", "Helvetica Neue", sans-serif;
	--overtop-serif: "SF Pro TC", "SF Pro Display", -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif;
	--overtop-page-title-size: clamp(28px, 4vw, 36px);
	--overtop-page-title-line: 1.2;
	--overtop-page-title-pad: 18px;
	--overtop-page-head-gap: 28px;
}

/* Shared listing / content page titles */
.overtop-announcements__head,
.overtop-map__head,
.overtop-books__head,
.overtop-authors__head,
.overtop-about__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: var(--overtop-page-head-gap);
	border-bottom: 1px solid rgba(26, 26, 26, 0.12);
}

.overtop-announcements__title,
.overtop-map__title,
.overtop-books__title,
.overtop-authors__title,
.overtop-about__title {
	margin: 0;
	padding-bottom: var(--overtop-page-title-pad);
	border-bottom: 0;
	font-family: var(--overtop-serif);
	font-size: var(--overtop-page-title-size);
	font-weight: 700;
	line-height: var(--overtop-page-title-line);
}

body.overtop-site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family: var(--overtop-sans);
	font-weight: 400;
	letter-spacing: 0.01em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.overtop-navbar {
	flex-shrink: 0;
}

.overtop-home,
body.overtop-site .wp-site-blocks {
	flex: 1 0 auto;
	box-sizing: border-box;
	width: 100%;
	padding-left: var(--overtop-pad-x);
	padding-right: var(--overtop-pad-x);
}

body.overtop-site .has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.overtop-site .wp-site-blocks > main.wp-block-group > .wp-block-group {
	padding: 0 !important;
}

body.overtop-site .wp-site-blocks > main.wp-block-group {
	margin-top: 0 !important;
}

body.home.overtop-site > .elementor {
	display: none;
}

body.overtop-books-page .wp-block-post-title {
	display: none !important;
}

body.overtop-books-page #wp--skip-link--target,
body.overtop-books-page .entry-content,
body.overtop-books-page .wp-site-blocks > main.wp-block-group,
body.overtop-books-page .wp-site-blocks > main.wp-block-group > .wp-block-group {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.overtop-books-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.overtop-books-page .is-layout-constrained > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.overtop-books-page .elementor,
body.overtop-books-page .elementor-page,
body.overtop-books-page .e-con,
body.overtop-books-page .elementor-widget {
	background: transparent !important;
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.overtop-books-page .e-con-boxed > .e-con-inner,
body.overtop-books-page .e-con-full {
	--padding-left: 0px;
	--padding-right: 0px;
	max-width: none;
	width: 100%;
}

body.overtop-authors-page .wp-block-post-title {
	display: none !important;
}

body.overtop-authors-page #wp--skip-link--target,
body.overtop-authors-page .entry-content,
body.overtop-authors-page .wp-site-blocks > main.wp-block-group,
body.overtop-authors-page .wp-site-blocks > main.wp-block-group > .wp-block-group {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.overtop-authors-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.overtop-authors-page .is-layout-constrained > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.overtop-authors-page .elementor,
body.overtop-authors-page .elementor-page,
body.overtop-authors-page .e-con,
body.overtop-authors-page .elementor-widget {
	background: transparent !important;
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.overtop-authors-page .e-con-boxed > .e-con-inner,
body.overtop-authors-page .e-con-full {
	--padding-left: 0px;
	--padding-right: 0px;
	max-width: none;
	width: 100%;
}

body.overtop-announcements-page .wp-block-post-title {
	display: none !important;
}

body.overtop-announcements-page #wp--skip-link--target,
body.overtop-announcements-page .entry-content,
body.overtop-announcements-page .wp-site-blocks > main.wp-block-group,
body.overtop-announcements-page .wp-site-blocks > main.wp-block-group > .wp-block-group {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.overtop-announcements-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.overtop-announcements-page .is-layout-constrained > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.overtop-announcements-page .elementor,
body.overtop-announcements-page .elementor-page,
body.overtop-announcements-page .e-con,
body.overtop-announcements-page .elementor-widget {
	background: transparent !important;
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.overtop-announcements-page .e-con-boxed > .e-con-inner,
body.overtop-announcements-page .e-con-full {
	--padding-left: 0px;
	--padding-right: 0px;
	max-width: none;
	width: 100%;
}

body.overtop-about-page .wp-block-post-title {
	display: none !important;
}

body.overtop-about-page #wp--skip-link--target,
body.overtop-about-page .entry-content,
body.overtop-about-page .wp-site-blocks > main.wp-block-group,
body.overtop-about-page .wp-site-blocks > main.wp-block-group > .wp-block-group {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.overtop-about-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.overtop-about-page .is-layout-constrained > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.overtop-about-page .elementor,
body.overtop-about-page .elementor-page,
body.overtop-about-page .e-con,
body.overtop-about-page .elementor-widget {
	background: transparent !important;
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.overtop-about-page .e-con-boxed > .e-con-inner,
body.overtop-about-page .e-con-full {
	--padding-left: 0px;
	--padding-right: 0px;
	max-width: none;
	width: 100%;
}
