/*!
Theme Name: MealPlan
Theme URI: http://underscores.me/
Author: Adam Pool
Author URI: http://www.adampool.com
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: mealplan
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

MealPlan is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #9565cc;
}

a:visited {
	color: #593d7a;
}

a:hover,
a:focus,
a:active {
	color: #7751a3;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

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

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* #region globals */

.btn {
	background-color: #9565cc;
	border: 0px;
	padding: 8px 24px;
	color: #fff;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	border-radius: 12px;
	text-decoration: none;
	font-weight: 600;
}

.btn:hover,
.btn:active,
.btn:focus {
	background-color: #7751a3;
}

.btn:visited {
	color: #fff;
	background-color: #7751a3;
}

button {
	padding: 8px 24px;
	border-radius: 12px;
	border: 0;
	background-color: #7751a3;
	color: #fff;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

button:hover {
	background-color: #533972;
}

.select {
	color: #9565cc;
	background-color: white;
	border: thin solid gray;
	border-radius: 6px;
	display: inline-block;
	font: inherit;
	line-height: 1.5em;
	padding: 12px 3.5em 12px 1em;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
	background-position: calc(100% - 20px) calc(1.25em + 2px), calc(100% - 15px) calc(1.25em + 2px), calc(100% - 2.5em) 0.5em;
	background-size: 5px 5px, 5px 5px, 1px 2em;
	background-repeat: no-repeat;
}

.select:focus {
	background-image: linear-gradient(45deg, #9565cc 50%, transparent 50%), linear-gradient(135deg, transparent 50%, #9565cc 50%), linear-gradient(to right, #ccc, #ccc);
	background-position: calc(100% - 15px) 1.25em, calc(100% - 20px) 1.25em, calc(100% - 2.5em) 0.5em;
	background-repeat: no-repeat;
	border-color: #9565cc;
	outline: 0;
}

/* #endregion */

/* #region Login Page */

.page-template-page-login .site {
	height: 100vh;
	width: 100vw;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	background-color: #9ccc65;
}

.page-template-page-login .site .site-header {
	display: none;
}

.page-template-page-login .site .custom-login-container {
	width: 350px;
	padding: 36px 24px;
	border: 1px solid #ddd;
	background-color: #f9f9f9;
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
	display: flex;
	flex-flow: column nowrap;
	row-gap: 24px;
}

.page-template-page-login .site .custom-login-container h2 {
	margin: 0;
	text-align: center;
}

.page-template-page-login .site .custom-login-container form {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	row-gap: 12px;
	column-gap: 12px;
}

.page-template-page-login .site .custom-login-container form p {
	margin: 0;
	width: 100%;
}

.page-template-page-login .site .custom-login-container form p.login-remember,
.page-template-page-login .site .custom-login-container form p.login-submit {
	width: unset;
	margin-top: 12px;
}

.page-template-page-login .site .custom-login-container form p.login-remember {
	margin-left: 9px;
}

.page-template-page-login .site .custom-login-container form p input,
.page-template-page-login .site .custom-login-container form p label {
	width: 100%;
}

.page-template-page-login .site .custom-login-container form p.login-remember label {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	column-gap: 8px;
	white-space: nowrap;
}

.page-template-page-login .site .custom-login-container form p.login-username label,
.page-template-page-login .site .custom-login-container form p.login-password label {
	display: block;
	margin-bottom: 3px;
}

.page-template-page-login .site .custom-login-container form p.login-submit input[type="submit"] {
	background-color: #9565cc;
	border: 0px;
	padding: 8px 24px;
	border-radius: 12px;
	color: #fff;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.page-template-page-login .site .custom-login-container form p.login-submit input[type="submit"]:hover,
.page-template-page-login .site .custom-login-container form p.login-submit input[type="submit"]:active,
.page-template-page-login .site .custom-login-container form p.login-submit input[type="submit"]:focus {
	background-color: #7751a3;
}

.page-template-page-login .site .custom-login-container .login-meta {
	margin-top: 12px;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
}

.page-template-page-login .site .custom-login-container .login-meta a {
	color: #9565cc;
	text-decoration: none;
}

.page-template-page-login .site .custom-login-container .login-meta a:hover {
	color: #7751a3;
}

/* #endregion */

/* #region Logged in */

html,
body {
	background-color: #e0e0e0;
}

.mobile-menu-toggle {
	position: fixed;
	bottom: 12px;
	right: 12px;
	background-color: #fff;
	border-radius: 50%;
	padding: 9px;
	border: 0;
	color: #9565cc;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.mobile-menu-toggle:hover,
.mobile-menu-toggle:active,
.mobile-menu-toggle:focus {
	background-color: #9565cc;
	color: #fff;
}

@media screen and (min-width: 992px) {
	.mobile-menu-toggle {
		display: none;
	}
}

body:not(.page-template-page-login) .site {
	width: 100vw;
	height: 100vh;
	display: flex;
	flex-flow: row nowrap;
	background-color: #e0e0e0;
}

body:not(.page-template-page-login) .site .site-header {
	display: none;
	flex-flow: column nowrap;
	background-color: #fff;
	row-gap: 12px;
	width: 100%;
	transition: width 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	position: fixed;
	height: 100%;
	z-index: 999;
}

body:not(.page-template-page-login) .site .site-header.mobile-open {
	display: flex;
}

@media screen and (min-width: 768px) {
	body:not(.page-template-page-login) .site .site-header {
		row-gap: 24px;
	}
}

@media screen and (min-width: 992px) {
	body:not(.page-template-page-login) .site .site-header {
		width: 250px;
		position: relative;
		height: unset;
		display: flex;
	}
}

body:not(.page-template-page-login) .site .site-header.minimized {
	width: 80px;
}

body:not(.page-template-page-login) .site .site-header.minimized .header-logo,
body:not(.page-template-page-login) .site .site-header.minimized .site-copyright,
body:not(.page-template-page-login) .site .site-header.minimized .nav-menu li a span {
	display: none;
}

body:not(.page-template-page-login) .site .site-header .menu-toggle {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 24px;
	position: absolute;
	bottom: 64px;
	right: 0;
	transform: translateX(50%);
	background-color: #fff;
	padding: 12px;
	border-radius: 50%;
	color: #9565cc;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

body:not(.page-template-page-login) .site .site-header .menu-toggle:hover {
	background-color: #9565cc;
	color: #fff;
}

body:not(.page-template-page-login) .site .site-header.mobile-open .menu-toggle {
	display: none;
}

@media screen and (min-width: 992px) {
	body:not(.page-template-page-login) .site .site-header.mobile-open .menu-toggle {
		display: flex;
	}
}

body:not(.page-template-page-login) .site .site-header > p {
	font-size: 0.6rem;
	width: 100%;
	margin: auto 0 0;
	text-align: center;
	padding: 0px 12px 24px;
	color: #616161;
}

@media screen and (min-width: 768px) {
	body:not(.page-template-page-login) .site .site-header > p {
		padding: 12px 24px 24px;
	}
}

body:not(.page-template-page-login) .site .site-header .nav-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

body:not(.page-template-page-login) .site .site-header.minimized .nav-menu {
	margin-top: 36px;
}

body:not(.page-template-page-login) .site .site-header .nav-menu li a {
	padding: 12px 24px;
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	column-gap: 18px;
	color: #9565cc;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	cursor: pointer;
}

@media screen and (min-width: 768px) {
	body:not(.page-template-page-login) .site .site-header .nav-menu li a {
		padding: 24px;
	}
}

@media screen and (min-width: 992px) {
	body:not(.page-template-page-login) .site .site-header .nav-menu li a {
		padding: 24px 36px;
		justify-content: flex-start;
	}

	body:not(.page-template-page-login) .site .site-header.minimized .nav-menu li a {
		padding: 24px;
	}

	body:not(.page-template-page-login) .site .site-header.minimized .nav-menu li a i {
		margin-left: auto;
		margin-right: auto;
	}
}

body:not(.page-template-page-login) .site .site-header .nav-menu li a:hover {
	background-color: #9565cc;
	color: #fff;
}

body:not(.page-template-page-login) .site .site-header .nav-menu li.current-menu-item a {
	background-color: #7751a3;
	color: #fff;
}

body:not(.page-template-page-login) .site .site-header .header-logo {
	margin: 0;
	width: 100%;
	text-align: center;
	text-decoration: none;
	font-size: 2rem;
	font-weight: 600;
	padding: 24px 12px 12px;
	color: #9565cc;
}

@media screen and (min-width: 768px) {
	body:not(.page-template-page-login) .site .site-header .header-logo {
		padding: 24px 24px 0;
	}
}

body:not(.page-template-page-login) .site .container {
	flex: 1;
	padding: 24px;
}

body:not(.page-template-page-login) .site .container .inner-container {
	background-color: #fff;
	border-radius: 24px;
}

@media screen and (min-width: 768px) {
	body:not(.page-template-page-login) .site .container .inner-container {
		padding: 24px;
	}
}

body:not(.page-template-page-login) .site .container .inner-container > h1 {
	margin: 0 0 12px;
}

@media screen and (min-width: 768px) {
	body:not(.page-template-page-login) .site .container .inner-container > h1 {
		margin: 0 0 24px;
	}
}

/* #endregion */

/* #region Ingredients page */

.page-template-page-ingredients .switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 34px;
}

.page-template-page-ingredients .switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.page-template-page-ingredients .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	transition: 0.4s;
	border-radius: 34px;
}

.page-template-page-ingredients .slider:before {
	position: absolute;
	content: "";
	height: 26px;
	width: 26px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	transition: 0.4s;
	border-radius: 50%;
}

.page-template-page-ingredients input:checked + .slider {
	background-color: #9565cc;
}

.page-template-page-ingredients input:checked + .slider:before {
	transform: translateX(26px);
}

/* Styling for the Save and Reset Buttons */
.page-template-page-ingredients #save-btn,
.page-template-page-ingredients #reset-btn {
	background-color: #9565cc;
	color: white;
	border: none;
	padding: 10px 20px;
	margin: 10px;
	cursor: pointer;
	border-radius: 4px;
	transition: background-color 0.3s ease;
}

.page-template-page-ingredients #save-btn:hover,
.page-template-page-ingredients #reset-btn:hover {
	background-color: #7751a3;
}

/* #endregion */

/* #region recipe directory */

body.post-type-archive-recipe .site .container {
	padding: 0;
}

@media screen and (min-width: 992px) {
	body.post-type-archive-recipe .site .container {
		padding: 24px;
	}
}

body.post-type-archive-recipe .site .container .inner-container {
	background-color: transparent;
	padding: 0;
}

@media screen and (min-width: 992px) {
	body.post-type-archive-recipe .site .container .inner-container {
		background-color: #fff;
		max-height: calc(100vh - 48px);
		overflow-y: auto;
		position: relative;
	}
}

.post-type-archive-recipe .site .container .inner-container > form {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	column-gap: 12px;
	background-color: #9ccc65;
	padding: 12px 24px;
	justify-content: center;
}

@media screen and (min-width: 768px) {
	.post-type-archive-recipe .site .container .inner-container > form {
		justify-content: flex-end;
	}
}

@media screen and (min-width: 992px) {
	.post-type-archive-recipe .site .container .inner-container > form {
		border-top-left-radius: 24px;
		border-top-right-radius: 24px;
		position: sticky;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1;
	}
}

.post-type-archive-recipe .site .container .inner-container > form > input[type="submit"] {
	margin-left: auto;
}

@media screen and (min-width: 768px) {
	.post-type-archive-recipe .site .container .inner-container > form > input[type="submit"] {
		margin-left: 0px;
	}
}

.post-type-archive-recipe .site .container .inner-container > form > label {
	font-weight: 500;
}

.post-type-archive-recipe .site .container .inner-container .recipes-container {
	width: 100%;
	display: grid;
	row-gap: 18px;
	padding: 24px;
}

@media screen and (min-width: 768px) {
	.post-type-archive-recipe .site .container .inner-container .recipes-container {
		grid-template-columns: 1fr 1fr;
		column-gap: 24px;
		row-gap: 24px;
	}
}

@media screen and (min-width: 1200px) {
	.post-type-archive-recipe .site .container .inner-container .recipes-container {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}

.post-type-archive-recipe .site .container .inner-container .recipes-container article > a {
	width: 100%;
	position: relative;
	aspect-ratio: 1 / 1;
	display: block;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.post-type-archive-recipe .site .container .inner-container .recipes-container article > a:hover {
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.post-type-archive-recipe .site .container .inner-container .recipes-container article > a > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(66%);
}

.post-type-archive-recipe .site .container .inner-container .recipes-container article > a > h2 {
	position: absolute;
	bottom: 24px;
	left: 24px;
	color: #fff;
	margin: 0;
	text-shadow: 1px 1px 8px #000;
}

.post-type-archive-recipe .site .container .inner-container .recipes-container > .page-numbers {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	padding-right: 64px;
}

@media screen and (min-width: 768px) {
	.post-type-archive-recipe .site .container .inner-container .recipes-container > .page-numbers {
		width: 100%;
		column-gap: 24px;
		padding-right: 0px;
		justify-content: center;
		grid-column: 1 / 3;
	}
}

@media screen and (min-width: 1200px) {
	.post-type-archive-recipe .site .container .inner-container .recipes-container > .page-numbers {
		grid-column: 1 / 5;
	}
}

.post-type-archive-recipe .site .container .inner-container .recipes-container > .page-numbers li .page-numbers {
	background-color: #9565cc;
	color: #fff;
	padding: 3px;
	width: 36px;
	height: 36px;
	border-radius: 24px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.post-type-archive-recipe .site .container .inner-container .recipes-container > .page-numbers li .page-numbers:hover {
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.post-type-archive-recipe .site .container .inner-container .recipes-container > .page-numbers li .page-numbers.next {
	width: fit-content;
	padding: 3px 12px;
}

/* #endregion */

/* #region Recipe Single */

body.single-recipe .site .container {
	padding: 0;
}

body.single-recipe .site .container .inner-container {
	border-radius: 0px;
}

@media screen and (min-width: 768px) {
	body.single-recipe .site .container .inner-container {
		padding: 0;
	}
}

@media screen and (min-width: 992px) {
	body.single-recipe .site .container .inner-container {
		max-height: calc(100vh - 48px);
		overflow-y: auto;
		margin: 24px;
		border-radius: 24px;
	}
}

body.single-recipe .site .container .inner-container .recipe-header {
	display: flex;
	background-color: #9ccc65;
	flex-flow: column nowrap;
}

@media screen and (min-width: 768px) {
	body.single-recipe .site .container .inner-container .recipe-header {
		flex-flow: row wrap;
	}
}

body.single-recipe .site .container .inner-container .recipe-header .content {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	row-gap: 24px;
	column-gap: 12px;
	padding: 24px;
	justify-content: space-between;
	width: 100%;
}

@media screen and (min-width: 1200px) {
	body.single-recipe .site .container .inner-container .recipe-header .content {
		width: auto;
	}
}

body.single-recipe .site .container .inner-container .recipe-header .content .recipe-mealtype,
body.single-recipe .site .container .inner-container .recipe-header .content .servings {
	font-weight: 500;
}

body.single-recipe .site .container .inner-container .recipe-header .recipe-image {
	width: 100%;
	aspect-ratio: 1 / 1;
	position: relative;
}

@media screen and (min-width: 768px) {
	body.single-recipe .site .container .inner-container .recipe-header .recipe-image {
		aspect-ratio: 16/9;
	}
}

@media screen and (min-width: 1200px) {
	body.single-recipe .site .container .inner-container .recipe-header .recipe-image {
		aspect-ratio: 42/9;
	}
}

body.single-recipe .site .container .inner-container .recipe-header .recipe-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.6);
	z-index: 1;
}

body.single-recipe .site .container .inner-container .recipe-header .recipe-image .title-container {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	right: 0;
	padding: 24px;
}

body.single-recipe .site .container .inner-container .recipe-header .recipe-image .title-container .recipe-title {
	margin: 0;
	color: #fff;
	text-shadow: 1px 1px 8px #000;
}

body.single-recipe .site .container .inner-container .recipe-main {
	display: flex;
	flex-flow: column nowrap;
	padding: 24px;
	row-gap: 24px;
}

@media screen and (min-width: 1200px) {
	body.single-recipe .site .container .inner-container .recipe-main {
		display: grid;
		grid-template-columns: 1fr 1.5fr;
		column-gap: 36px;
	}
}

@media screen and (min-width: 1200px) {
	body.single-recipe .site .container .inner-container .recipe-main .recipe-ingredients {
		padding: 24px;
		border-radius: 12px;
		background-color: #ebf5e0;
	}

	body.single-recipe .site .container .inner-container .recipe-main .recipe-ingredients h2 {
		margin-top: 0px;
	}
}

body.single-recipe .site .container .inner-container .recipe-main .recipe-ingredients ul,
body.single-recipe .site .container .inner-container .recipe-main .recipe-instructions ol {
	margin: 0;
	padding: 0 24px;
}

@media screen and (min-width: 768px) {
	body.single-recipe .site .container .inner-container .recipe-main .recipe-ingredients ul {
		column-count: 3;
		column-fill: balance;
		column-gap: 24px;
	}
}

@media screen and (min-width: 1200px) {
	body.single-recipe .site .container .inner-container .recipe-main .recipe-ingredients ul {
		column-count: 1;
	}
}

body.single-recipe .site .container .inner-container .recipe-main .recipe-ingredients ul li,
body.single-recipe .site .container .inner-container .recipe-main .recipe-instructions ol li {
	margin-bottom: 3px;
}

/* #endregion */

/* #region Mealplan template */
#meal-plan-form,
#mealplan-display {
	display: flex;
	flex-flow: row wrap;
	row-gap: 24px;
}

#mealplan-display {
	margin-bottom: 36px;
}

.page-template-page-mealplan .container .inner-container form#meal-plan-form .options-section,
#extra-items-container {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	background-color: #9ccc65;
	padding: 18px;
	border-radius: 12px;
	column-gap: 24px;
	flex: 1 1 auto;
}

.page-template-page-mealplan .container .inner-container form#meal-plan-form h3,
#extra-items-container h3 {
	width: 100%;
	margin-top: 0;
	margin-bottom: 8px;
}

.page-template-page-mealplan .container .inner-container form#meal-plan-form .input-container,
#extra-items-container .input-container {
	flex: 1 1 0;
	display: flex;
	flex-flow: column wrap;
}

.page-template-page-mealplan .container .inner-container form#meal-plan-form .input-container label,
#extra-items-container .input-container label {
	font-weight: 500;
	margin-bottom: 4px;
}

.page-template-page-mealplan .container .inner-container form#meal-plan-form .input-container input,
#extra-items-container .input-container input {
	padding: 8px 12px;
	border-radius: 12px;
	border: 0;
}

.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	column-gap: 24px;
	padding: 12px 24px;
	border-radius: 12px;
	border: 2px solid #fff;
}

.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset legend {
	padding: 0 8px;
	font-weight: 500;
}

/* Positioning container label */
.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset .checkbox-container {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	margin: 0;
	position: relative;
	cursor: pointer;
	user-select: none;
	padding-left: 30px;
}

/* Visually hide the native checkbox but keep it accessible for screen readers */
.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset .checkbox-container input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
	margin: 0;
	/* remove default margin if any */
}

/* The custom “checkbox box” */
.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset .checkbox-container .checkmark {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 18px;
	width: 18px;
	border: 2px solid #888;
	/* outline color of the box */
	border-radius: 3px;
	/* slightly rounded corners */
	box-sizing: border-box;
	transition: background-color 0.2s, border-color 0.2s;
}

/* When the checkbox is checked, fill the box */
.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset .checkbox-container input[type="checkbox"]:checked ~ .checkmark {
	background-color: #7751a3;
	/* the fill color for checked state */
	border-color: #7751a3;
	/* outline matches the fill color */
}

/* Create the “check” inside the box using a pseudo-element */
.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset .checkbox-container .checkmark::after {
	content: "";
	position: absolute;
	display: none;
	/* hide by default */
}

/* Show the checkmark when checked */
.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset .checkbox-container input[type="checkbox"]:checked ~ .checkmark::after {
	display: block;
}

/* Shape and position of the checkmark */
.page-template-page-mealplan .container .inner-container form#meal-plan-form fieldset .checkbox-container .checkmark::after {
	left: 4px;
	/* tweak these to get the right look */
	top: 1px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	/* color of the check is white */
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	/* diagonal check */
}

/* Meal Plan Table Styles */
#meal-plan-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 12px;
	border: 1px solid #ccc;
	font-family: Arial, sans-serif;
	margin: 0px;
	background-color: #fff;
}

#meal-plan-table th,
#meal-plan-table td {
	border: 1px solid #ccc;
	vertical-align: top;
}

#meal-plan-table th,
#meal-plan-table td:first-of-type,
#meal-plan-table td select {
	padding: 0.65em;
}

#meal-plan-table td:not(:first-of-type) {
	padding-right: 0.65em;
}

/* The first table row: “Day” (rowspan=2), plus meal groups (colspan=2) */
#meal-plan-table thead tr:nth-child(1) th {
	background-color: #cee6b2;
	font-weight: 600;
	text-align: center;
}

#meal-plan-table thead tr:nth-child(1) th:first-of-type {
	border-top-left-radius: 11px;
}

#meal-plan-table thead tr:nth-child(1) th:last-of-type {
	border-top-right-radius: 11px;
}

#meal-plan-table tbody tr:last-of-type td:first-of-type {
	border-bottom-left-radius: 11px;
}

#meal-plan-table tbody tr:last-of-type td:last-of-type {
	border-bottom-right-radius: 11px;
}

/* The second table row: “Recipe” and “People” columns */
#meal-plan-table thead tr:nth-child(2) th {
	background-color: #fafafa;
	font-weight: normal;
	text-align: left;
}

/* Slight highlight on hover for the body rows (optional) */
#meal-plan-table tbody tr:hover {
	background-color: #e4dced;
}

/* Make the selects fill the cell (optional); tweak max-width as needed */
#meal-plan-table td select {
	width: 100%;
	box-sizing: border-box;
	border: 0;
	background-color: transparent;
	cursor: pointer;
}

#shopping-list {
	background-color: #cee6b2;
	border-radius: 12px;
	padding: 24px 24px 36px;
	flex: 1 1 auto;
}

#shopping-list h2 {
	margin-top: 0;
}

#shopping-list ul {
	columns: 3;
	margin: 0;
	padding: 0 0 0 24px;
}

#shopping-list ul li {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	column-gap: 12px;
	text-transform: capitalize;
}

#shopping-list ul li::before {
	content: "•";
}

#shopping-list ul li button.remove-extra-item {
	color: #fff;
	background-color: #b00020;
	border: 0;
	border-radius: 100%;
	line-height: 0;
	height: 18px;
	width: 18px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	padding: 0 0 2px 0;
	cursor: pointer;
	user-select: none;
}

#shopping-list ul li button.remove-extra-item:hover {
	filter: brightness(85%);
}

.page-meta {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}

/* #endregion */

/* #region submenu update */

#menu-main-nav .submenu-icon {
	pointer-events: none;
	margin-left: auto;
}

#menu-main-nav li ul.sub-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	background-color: #ebf5e0;
	margin-bottom: 12px;
}

.site-header.minimized #menu-main-nav .submenu-icon {
	display: none;
}

/* #endregion */

/* #region saved meal plans */

.page-template-page-saved-mealplans .inner-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	row-gap: 24px;
	column-gap: 24px;
}

.page-template-page-saved-mealplans .inner-container h1 {
	grid-column: 1/-1;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan {
	display: grid;
	grid-template-columns: 1fr 3fr;
	align-items: center;
	border: 3px solid #9ccc65;
	border-radius: 12px;
	text-decoration: none;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan:hover {
	border: 3px solid #7da351;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan .list-icon {
	height: 100%;
	display: flex;
	flex-flow: row;
	align-items: center;
	justify-content: center;
	background-color: #9ccc65;
	color: #fff;
	border-radius: 3px 0 0 3px;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan:hover .list-icon {
	background-color: #7da351;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan .list-icon i {
	font-size: 3rem;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan .saved-mealplan-content {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	padding: 12px 24px;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan .saved-mealplan-content h3,
.page-template-page-saved-mealplans .inner-container > .saved-mealplan .saved-mealplan-content span {
	margin: 0;
	padding: 0;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan .saved-mealplan-content h3 {
	color: #7751a3;
}

.page-template-page-saved-mealplans .inner-container > .saved-mealplan .saved-mealplan-content span {
	color: #404040;
}

/* #endregion */
