html {
	scroll-behavior:smooth;
}
body {
	background:#fffaf4;
	font-family:'Merriweather',serif;
	font-size:11pt;
	margin:0;
	padding:0 2%;
	line-height:1.8em;
	-webkit-text-size-adjust:none;
	text-size-adjust:none;
}

#skip-link {
	display:block;
	text-align:center;
	overflow:hidden;
	width:0;
	height:0;
	position:absolute;
	top:-1px;
	left:-1px;
}
#skip-link:focus {
	background:#EEE;
	padding:1ex;
	width:100%;
	height:auto;
	top:0;
	left:0;
}

#site-header {
	position:sticky;
	top:0;
	z-index:2;
}
#top-nav {
    background:#600;
	display:grid;
	grid-template-columns:auto 5em;
	margin:0 -2.1%;
	padding:0 0 0 2%;
	min-height:4.6em;
	box-sizing:border-box;
}

#top-nav img {
	display:block;
	align-self:center;
	width:100%;
}

#top-nav h1 {
	align-self:center;
	margin:0;
	padding:8px 0 0;
	font-weight:normal;
	font-size:1.5em;
	box-sizing:border-box;
	line-height:1;
}

#top-nav h1 a {
	text-decoration:none;
	color:inherit;
	color:#fffcf6;
	align-items:center;
	display:inline-grid;
	grid-template-columns:45px auto;
	column-gap:10px;
}

#top-nav h1 a span {
    position:relative;
    top:3px;
}

#nav-toggle-button {
	font-size:.8em;
	color:#FFF;
	display:block;
	padding:.1em .7em;
	margin:0;
	border:1px solid transparent;
	background-color:rgba(255,255,255,0);
	cursor:pointer;
	white-space:nowrap;
	-webkit-tap-highlight-color:transparent;
	transition:background-color .2s;
	width:100%;
    box-sizing:border-box;
}

#nav-toggle-button::before {
	content:'\002630';
	font-size:3em;
	color:#FFF;
	display:block;
}
#nav-toggle-button.close::before {
	content:'\002715';
}
#nav-toggle-button:hover { 
	background-color:rgba(255,255,255,.2);
}
#nav-toggle-button:focus:focus-visible { 
	border-color:#FFF;
	outline:none;
	background:inherit;
}

#cover-nav {
	padding:0 2em;
	background-color:#500;
	color:#FFF;
	margin:0 -2.1%;
	transition:height .75s ease-in-out;
	overflow:hidden;
}
#cover-nav h2 {
	margin-bottom:.5em;
}
#cover-nav ul {
	list-style:none;
	padding:.3em 0 .5em;
	margin:0;
}
#cover-nav > div:last-child ul {
	padding-bottom:2em;
}
#cover-nav li {
	margin-bottom:.7em;
}
#cover-nav a { 
	color:#FFF;
	text-decoration:none;
}
#cover-nav a:hover {
	text-decoration:underline;
}

#permalink-note,
#permalink {
    background:#F4F4F4;
    padding:.7em 1em;
    color:#000;
    border:1px solid #555;
	overflow-x:hidden;
}
#permalink a {
	line-break:anywhere;
}

#qrcode {
	display:none;
	width:100vw;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
	background:#600;
	grid-template-rows:min-content auto;
	align-items:center;
	text-align:center;
	z-index:3;
}

#qrcode-inner {
	padding:2em;
	background:white;
	border-radius:.5em;
	justify-self:center;
}

#qrcode-close {
	border:none;
	background:transparent;
	color:#FFF;
	font-size:1.3em;
	margin:1em 0;
	cursor:pointer;
}

button#permalink-qr {
	background:#600;
	color:#FFF;
	border:none;
	border-radius:.3em;
	padding:.4em 1em;
	cursor:pointer;
}

#content {
	margin:0 auto;
}
#content>header,
#content>div,
#content>footer {
	margin:0 auto;
	padding:.8rem 1.5%;
	max-width:62em;
}
#homepage #content > header,
#homepage #content > div,
#homepage #content > footer {
	max-width:81em;
}
#content > header {
	padding-bottom:0;
	border-bottom:1px solid #DDD;
	position:relative;
}
#content header h1 {
	font-size:2.5em;
	padding-bottom:.3em;
	margin:.3em auto 0;
	font-weight:normal;
	line-height:90%;
}
#content header h1 small {
	font-size:.5em;
	display:block;
}

#content header #date-row div#date {
	font-size:1.5em;
}

#liturgy-options-toggle {
	font-size:1em;
	box-sizing:border-box;
	margin:.5em 0 .2em;
	padding:.5em .9em;
	width:100%;
	border:none;
	white-space:nowrap;
	cursor:pointer;
	background:#f0f0f0;
	color:#000;
}
#liturgy-options-toggle:hover,
#liturgy-options-toggle:focus,
#liturgy-options-toggle:active {
	background:#ddd;
	-webkit-tap-highlight-color:transparent;
}

#liturgy-options-toggle:hover {
	background:rgba(0,0,0,.1);
}

#content > div {
	border-bottom:1px dashed #D3D3D3;
}
#content > div:last-of-type {
	border-bottom:none;
}

body.short-version #content>div[data-hide-in-short-version=true] {
	display:none;
}
#content div h2 {
	font-size:1.25em;
	margin:.4rem 0 .7rem;
}
#content p {
	margin-top:0;
}
#content .lead-in {
	display:block;
	font-size:.8em;
	font-style:italic;
}

#content #tagline {
	padding:.7ex 1em;
	margin:.5em auto 1em;
	font-style:italic;
	display:none;
}

#content footer {
	margin-top:1em;
	text-align:center;
}
#content #copyright h2,
#copyright p,
p#copyright {
	font-size:.8em;
}
#content #copyright h2,
#copyright p {
	line-height:1.5em;
	margin-bottom:.5em;
}

a,
a:hover,
a:visited {
	color:#600;
}

#content #liturgy-options,
body.dark-mode #content #liturgy-options {
	border-top:15px solid #600;
	color:#000;
	display:none;
	position:fixed;
	top:0;
	left:0;
	padding:2em 4% ;
	background:#f5e6e6;
	overflow-y:scroll;
	width:100vw;
	height:100vh;
	box-sizing:border-box;
	z-index:4;
	align-items:center;
}
#liturgy-options > * {
	max-width:55rem;
	margin:auto;
}
#liturgy-options-close {
	border:none;
	background:#600;
	color:#FFF;
	cursor:pointer;
	font-size:1.1em;
	border-radius:.4em;
	padding:.5em .9em;
	margin-top:.5em;
}
#liturgy-options-close i {
	margin-right:.1em;
}
#liturgy-options-close:hover {
	background:#700;
}
#liturgy-options h2 {
    margin-top:.9em;
	margin-bottom:.5em;
}
#liturgy-options ul.fa-ul {
	--fa-li-margin:0;
	margin-block-start:.7em;
	line-height:1.5em;
	border-bottom:1px dashed #bda6a6;
	margin-bottom:.8em;
}
#liturgy-options ul li {
	padding-block:.8em;
	padding-inline:2.7em .4em;
	border-top:1px dashed #bda6a6;
}
#liturgy-options ul li .fa-li {
	left:.2em;
}
#liturgy-options ul li small {
	display:block;
	font-size:.8em;
    line-height:1.5em;
}
#liturgy-options input,
#liturgy-options select {
	font-family:inherit;
	font-size:95%;
	background:rgba(255, 255, 255, .7);
	border:none;
	border-bottom:1px dotted black;
	margin-inline:.3em;
	padding:.1em .5em;
}

span.leader {
	padding-left:3em;
	text-indent:-3em;
	display:inline-block;
}
span.response {
	padding-left:1.5em;
	text-indent:-1.5em;
	display:inline-block;
}

span.leader:before {
	content:'*';
	font-size:.7em;
	padding-right:.4em;
}
.unison:before {
	display:block;
	font-size:.8em;
	font-style:italic;
	content:'All together:'
}
body.single .unison:before {
	display:none;
	content:none;
}
span.response {
	font-style:italic;
	margin-left:1.5em;
}
span.amen {
	font-style:italic;
}
span.lord {
	font-variant:small-caps;
}
span.response:first-child {
	margin-left:0;
}
body.single span.leader:before {
	content:'';
}
body.single span.response,
body.single span.amen {
	font-style:normal;
}

.instructions {
	font-size:.9em;
	font-style:italic;
	color:#555;
}
.indent	{
	display:inline-block;
	padding-left:2em;
}
.reference:before {
	content:' -\00a0';
}
.reference {
	font-style:italic;
	font-size:.9em;
	white-space:nowrap;
}
ul#lessons {
	list-style:none;
	padding:0;
}
ul#lessons li {
	margin:0 0 1.6em;
}
.apocrypha {
	font-style:italic;
}
body.single .hide-single,
.hidden {
	display:none !important;
}

div[data-function="option-selector"] p,
div[data-function="option-selector"] h3 {
	margin-top:.8rem;
	padding:0 .2rem;
}
div p.option-selector-wrapper {
	margin:0 0 .7rem;
	border-bottom:1px solid #D3D3D3;
	padding:0;
}

button.option-selector	{ 
	background:#EEE;
	border:1px solid #D3D3D3;
    border-bottom:none;
	border-radius:2px 2px 0 0;
	color:#000;
	text-decoration:none;
	display:inline-block;
	text-align:center;
	font-family:inherit;
	font-size:.7em;
	margin-right:1.2em;
	width:3em;
	height:2.6em;
	cursor:pointer;
	transition:background .7s;
}
button.option-selector.active { 
	color:#FFF;
	background:#500;
	border-color:#711f1f;
}

h3 {
	margin-bottom:.2em;
	font-size:1.1em;
}
h3+p {
	margin-top:0;
}

/* Form controls */
label {
	display:block;
}
input[type=date] {
	font-family:inherit;
	font-size:1em;
	padding:.4em .6em;
}

#back-to-top {
	border:none;
	background:#266;
	color:#ffffff;
	position:fixed;
	bottom:86px;
	right:11px;
	font-size:1.8em;
	border-radius:50%;
	aspect-ratio:1;
	display:grid;
	place-items:center;
	cursor:pointer;
	padding:.25em;
}

/* Accessibility Tools */
#accessibility-tools {
	display:grid;
	font-size:19pt;
	position:fixed;
	bottom:19px;
	right:0;
	background:#266;
	grid-template-columns:max-content 1fr 1fr 1fr 1fr;
	padding:0 .55em 0 0;
	border-radius:1.4em 0 0 1.4em;
	line-height:1;
}
#accessibility-tools button {
	background:none;
	border:none;
	color:#FFF;
	padding:5px .4em;
	cursor:pointer;
	font-size:1em;
	font-family:inherit;
	height:50px;
}
#accessibility-tools button:hover {
	background:rgba(0,0,0,.15);
}
#accessibility-tools button:first-child {
	border-radius:1.4em 0 0 1.4em;
	padding-left:5px;
}
#accessibility-tools button.active {
	background:rgba(0,0,0,.3);
}
#accessibility-tools button img {
	display:inline;
	vertical-align:middle;
}

/* Dark Mode */
body.dark-mode {
	background:#222;
	color:#FAFAFA;
}

body.dark-mode a {
	color:#FAFAFA;
}

body.dark-mode button#liturgy-options-toggle {
	color:#FAFAFA;
	background:none;
	border:1px solid #555;
	border-radius:.2em;
}
body.dark-mode button#liturgy-options-toggle:hover {
	background:#444;
}

body.dark-mode #content #tagline {
	background:none;
	color:#c5eaea;
}

body.dark-mode p.option-selector-wrapper {
	border-color:#835f5f;
}

body.dark-mode div[data-function="option-selector"] button.option-selector:not(.active) {
	background:#444;
	border-color:#6A6A6A;
	color:#FFF;
}

body.dark-mode .instructions {
	color:#D0D0D0;
}

body.dark-mode #permalink-note,
body.dark-mode #permalink {
	background:none;
	color:inherit;
}

nav#hp-nav {
	padding:.5em 0;
}
nav#hp-nav h2 { 
	margin:1em 0 .5em;
	font-size:1.2em;
}
nav#hp-nav div:first-of-type h2 {
	margin-top:0;
} 
nav#hp-nav p { 
	margin:0 0 .7em;
}
nav#hp-nav a {
	display:block;
	color:#fffcfa;
	background:#266;
	text-decoration:none;
	padding:.4em 2.6em .4em 1.6em;
	border-radius:.2em;
}
nav#hp-nav a:hover {
	background:rgb(59, 141, 141);
}


@media screen and ( min-width:540px ) and ( max-width:799px ) {
	nav#hp-nav {
		display:grid;
		grid-template-columns:1fr 1fr;
		column-gap:2em;
	}
	nav#hp-nav h2 {
		margin-top:0;
	} 
}

@media screen and ( min-width:800px ) {
	body { 
		font-size:12pt;
	}

	#top-nav {
		grid-template-columns:auto 11em;
		padding:0 0 0 2%;
		min-height:6em;
		transition:height .4s;
	}
	#top-nav h1 {
		font-size:2.6em;
		margin:0;
		padding:0;
		line-height:inherit;
		transition:font-size .4s;
	}
	#top-nav h1 a {
		grid-template-columns:65px auto;
		column-gap:15px;
		padding:0;
		transition:grid-template-columns .4s, column-gap .4s, padding .4s;
	}

	#top-nav.compact {
		min-height:0;
	}
	#top-nav.compact h1 {
		font-size:1.6em;
	}
	#top-nav.compact h1 a {
		grid-template-columns:36px auto;
		column-gap:8px;
		padding:.2em 0;
	}

	#nav-toggle-button {
		font-size:1.2em;
	}
	#nav-toggle-button::before {
		font-size:1.2em;
		margin-right:.4em;
		display:inline-block;
	}
	
	#cover-nav {
		display:grid;
		grid-template-columns:1fr 1fr;
		grid-column-gap:3em;
		padding:0 4%;
	}
	#cover-nav > div {
		margin:1em 0;
	}
	#cover-nav div:last-child ul {
		padding-bottom:.6em;
	}

	#content>header {
		padding:0;
	}
	#content header h1 {
		font-size:3.5em;
		border-bottom:1px solid #777;
		padding-top:.4em;
	}
	#content header #date-row { 
		display:grid; 
		grid-template-columns:auto min-content;
		column-gap:1em;
	}
	#content header #date-row div#date {
		padding:.5em .4em .4em;
	}

	#liturgy-options-toggle {
		background:transparent;
		padding:.4em .9em .3em;
		margin:0;
	}
	body.dark-mode button#liturgy-options-toggle {
		border:none;
		border-radius:0;
	}

	#content h2.hidden+div {
		margin-top:2.5em;
	}

	#content #tagline {
		display:block;
	}

	#hp-container {
		display:grid;
		grid-template-columns:max-content auto;
		column-gap:2em;
	}
	nav#hp-nav {
		padding:.5em 0;
	}
}

@media print {
	#nav-toggle-button,
	#cover-nav,
	#liturgy-options,
	#liturgy-options-toggle,
	.hide-print,
	button.option-selector,
	footer,
	#back-to-top,
	#accessibility-tools {
		display:none !important;
	}

	body {
		line-height:1.4em;
		font-size:10pt !important;
	}
	p {
		margin-top:0;
	}

	#site-header {
		position:relative;
	}
	#top-nav {
		margin:0 0 .5em;
	}
	#top-nav h1 {
		font-size:1.3em;
		padding:0 3% .2em;
		background:none;
	}
	#content>header,
	#content>div,
	#content>footer {
		padding:.8rem 3%;
		max-width:none;
	}
	#content div h2 {
		page-break-after:avoid;
		padding:0;
	}

	/* Dark Mode */
	body.dark-mode,
	body.dark-mode a,
	body.dark-mode .instructions {
		background:#FFF;
		color:#000;
	}
}