/* ============================================================
   Font pairs (matches inline inclusive-font-pairs)
   ============================================================ */
body {
  --global-font-family: Oxygen, BlinkMacSystemFont, -apple-system, Helvetica, Arial, sans-serif;
  --highlight-font-family: Lora, BlinkMacSystemFont, -apple-system, Helvetica, Arial, sans-serif;
}

/* ============================================================
   Theme variables (inclusive/assets/css/min/variables.min.css)
   ============================================================ */
:root {
  --global-font-color: #333;
  --global-font-line-height: 1.5;
  --content-width: 45rem;
  --color-meta: #727272;
  --color-link: #333;
  --color-link-active: #333;
  --color-link-menu: #333;
  --color-link-current-menu: #333;
  --menu-shadow: 0 0 1em rgba(0,0,0,0.04);
  --small-shadow: 0 0 1em rgba(0,0,0,0.08);
  --text-shadow: 0.04em 0.04em 0 rgba(0,0,0,0.1);
  --color-submenu: #fdf7f4;
  --color-submenu-hover: #fdf7f4;
  --color-primary: #fdb698;
  --color-secondary: #fdeee1;
  --color-theme-underline-accent: #fdeee1;
  --color-theme-hover-underline-accent: #fdb698;
  --color-theme-site-info: #fdf7f4;
  --color-theme-red: #c0392b;
  --color-theme-button: #f9f9f9;
  --color-theme-active-button: #ffeae6;
  --color-theme-button-text: #333;
  --color-theme-active-button-text: #333;
  --color-theme-button-border: #ccc #ccc #bbb;
  --button-border-width: 0px;
  --button-border-radius: 6px;
  --global-font-size: 20;
  --font-size-regular: calc(var(--global-font-size)/16*1rem);
  --font-size-smallest: calc(17.5/var(--global-font-size)*1rem);
  --font-size-small: calc(20/var(--global-font-size)*1rem);
  --font-size-medium: calc(31.25/var(--global-font-size)*1rem);
  --font-size-large: calc(37.5/var(--global-font-size)*1rem);
  --font-size-larger: calc(50/var(--global-font-size)*1rem);
}
@media screen and (max-width:56em) {
  :root {
    --font-size-larger: calc(50/var(--global-font-size)*0.8rem);
    --font-size-large: calc(37.5/var(--global-font-size)*0.9rem);
  }
}
@media screen and (max-width:27em) {
  :root { --font-size-larger: calc(50/var(--global-font-size)*0.7rem); }
}

/* ============================================================
   Theme mod — site colours (inclusive-theme-mod-css)
   ============================================================ */
body, .site { background: #ffeae6; }
body { background: #fdf7f4; }
.site-branding { background: #fdf7f4; }
.main-navigation, .nav--toggle-sub ul ul { background: #fdf7f4; }
body { --color-submenu: #fdf7f4; --color-submenu-hover: #fdf7f4; }
.site-footer { background: #fdf7f4; }
.site-footer, .site-footer a { color: #333333; }
.site-footer a, .site-footer .widget a { border-color: #333333; }
.site-footer a:focus, .site-footer a:hover { border-color: transparent; }
body { --color-theme-site-info: #fdf7f4; }
.site-info, .site-info a { color: #333333 !important; }

/* ============================================================
   Global reset & base (inclusive/assets/css/min/global.min.css)
   ============================================================ */
html { line-height:1.15; -webkit-text-size-adjust:100%; }
body { margin:0; }
main { display:block; }
h1 { font-size:2.44em; margin:.67em 0; }
hr { box-sizing:content-box; height:0; overflow:visible; }
b, strong { font-weight:bolder; }
small { font-size:80%; }
sub, sup { font-size:75%; line-height:0; position:relative; vertical-align:baseline; }
sub { bottom:-.25em; }
sup { top:-.5em; }
button, input, optgroup, select, textarea { font-family:inherit; font-size:100%; line-height:1.15; margin:0; }
button, input { overflow:visible; }
button, select { text-transform:none; }
[type=button],[type=reset],[type=submit],button { -webkit-appearance:button; }
textarea { overflow:auto; }
[type=checkbox],[type=radio] { box-sizing:border-box; padding:0; }
[type=search] { -webkit-appearance:textfield; outline-offset:-2px; }
[type=search]::-webkit-search-decoration { -webkit-appearance:none; }
::-webkit-file-upload-button { -webkit-appearance:button; font:inherit; }
details { display:block; }
summary { display:list-item; }
[hidden], template { display:none; }

body, button, input, optgroup, select, textarea {
  color: var(--global-font-color);
  font-family: var(--global-font-family);
  font-size: var(--font-size-regular);
  line-height: var(--global-font-line-height);
}
h1,h2,h3,h4,h5,h6 { font-family: var(--highlight-font-family); clear:both; }
h2 { font-size: var(--font-size-larger); }
h3 { font-size: 1.56em; }
h4 { font-size: 1.25em; }
h5 { font-size: 1em; }
h6 { font-size: .8em; }
.entry-header h1.entry-title,
.entry-header h2.entry-title,
.page-header .page-title {
  font-size: var(--font-size-larger);
  margin-bottom: 2.5rem;
  text-shadow: .04em .04em 0 rgba(0,0,0,.1);
  word-wrap: break-word;
}
cite, dfn, em, i { font-style: italic; }
blockquote, q { quotes: "\201C" "\201D"; }
.entry-content blockquote, blockquote { border-left:4px solid #000; margin:0; padding-left:1em; }
address { margin:0 0 1.5em; }
pre { background:#eee; font-size:.9375rem; line-height:1.6; margin-bottom:1.5em; overflow:auto; padding:1em; white-space:pre-wrap; font-family:monospace; }
code, kbd, tt, var { font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace; }
ins, mark { background:#fff9c0; text-decoration:none; }
html { box-sizing:border-box; scroll-behavior:smooth; }
*, :after, :before { box-sizing:inherit; transition:.3s; }
body { background:#fdf7f4; overflow-x:hidden; }
hr { border:0; height:1px; margin-bottom:1.5em; }
ol, ul { margin:0 0 1.5em 1.5em; }
ul { list-style:disc; }
ol { list-style:decimal; }
li>ol, li>ul { margin-bottom:0; margin-left:.5em; }
dt { font-weight:700; }
dd { margin:0 1.5em 1.5em; }
img:not(.custom-logo) { height:auto; max-width:100%; }
figure { margin:1.5em 0; }
table { margin:0; width:100%; border-collapse:collapse; }
td, th { border:1px solid; padding:.5em; }
embed, iframe, object { max-width:100%; }

.screen-reader-text {
  clip:rect(1px,1px,1px,1px);
  position:absolute !important;
  height:1px; width:1px; overflow:hidden; word-wrap:normal !important;
}
.screen-reader-text:focus {
  background-color:#f1f1f1; border-radius:3px;
  box-shadow:0 0 2px 2px rgba(0,0,0,.6);
  clip:auto !important; color:#21759b; display:block;
  font-size:.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;
}

.site { margin:0 auto; max-width:100%; }
.site-main { margin-top:3em; }
textarea { width:100%; }

button, input[type=button], input[type=reset], input[type=submit] {
  border: var(--button-border-width) solid;
  border-color: var(--color-theme-button-border);
  border-radius: var(--button-border-radius);
  background: var(--color-theme-button);
  color: var(--color-theme-button-text);
  font-size:1rem; font-weight:600; line-height:1.5; padding:.7em;
  cursor:pointer; font-family: var(--highlight-font-family);
  outline-offset:5px; transition: box-shadow .3s ease-in-out;
}
button:active, button:hover,
input[type=button]:active, input[type=button]:hover,
input[type=reset]:active, input[type=reset]:hover,
input[type=submit]:active, input[type=submit]:hover {
  box-shadow:0 0 0 3px #fff, 0 0 0 4px #767676;
  outline:none;
  background: var(--color-theme-active-button);
  color: var(--color-theme-active-button-text);
}
button:focus, input[type=button]:focus, input[type=reset]:focus, input[type=submit]:focus {
  outline:1px dotted var(--color-theme-active-button-text);
  background: var(--color-theme-active-button);
  color: var(--color-theme-active-button-text);
}

input[type=color], input[type=date], input[type=email],
input[type=number], input[type=password], input[type=search],
input[type=tel], input[type=text], input[type=url], textarea {
  border:1px solid #ccc; border-radius:3px; padding:.7em;
  font-size:1rem; font-weight:600; line-height:1.5;
  font-family: var(--highlight-font-family);
}
input:focus, textarea:focus { outline:thin solid var(--global-font-color); }

article.entry { margin-bottom:5em; }

.entry-content, .entry-summary, .page-content { line-height:2.1; }
.entry-content>*, .entry-summary>*, .page-content>* {
  margin-right:auto; margin-left:auto;
  padding-right:1.5rem; padding-left:1.5rem;
  max-width:var(--content-width);
}
.entry-content>:not(.container):not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright) {
  margin-left:auto; margin-right:auto;
}
.entry-content { padding-bottom:1em; }
.entry-content:after, .entry-content:before { content:""; display:table; table-layout:fixed; }
.entry-content:after { clear:both; }

@media screen and (min-width:48em) {
  .entry-content>*, .entry-footer, .entry-header,
  .entry-summary>*, .page-content>*, .page-header {
    padding-left:0; padding-right:0;
  }
}

.comments-area, .entry-footer, .page-header {
  margin:1.5em auto; padding-right:1.5rem; padding-left:1.5rem;
  max-width:var(--content-width);
}
.entry-header, .page-header { text-align:center; }
.entry-header {
  margin:0 auto 2.5rem; padding-right:1.5rem; padding-left:1.5rem;
  max-width:var(--content-width);
}
.page .entry-header { margin-bottom:2.5em; }
.entry-content .post-password-form input[type=submit] { margin-left:1rem; }

.site a { text-decoration:underline; outline:2px dotted transparent; }
.site a, .site a:visited { color:var(--color-link); }
.site a:active, .site a:focus, .site a:hover { color:var(--color-link-active); text-decoration:none; }
.site a:focus { outline:2px dotted var(--color-link); }
.site a:active { outline:0; }

.alignleft { float:left; margin-right:2em; }
.alignright { float:right; margin-left:2em; }
.aligncenter { clear:both; display:block; margin-left:auto; margin-right:auto; }
.alignwide { max-width:calc(50% + var(--content-width)/2); margin-left:auto; margin-right:auto; }
.alignfull { max-width:100%; padding:0; margin-right:auto; margin-left:auto; position:relative; width:100%; }

.entry-footer { margin:2.5em auto 1.5em; padding:0 1.5rem 1.5rem; max-width:var(--content-width); border-bottom:1px solid rgba(0,0,0,.05); }
.page .entry-footer { border-bottom:none; }

.entry-content ol, .entry-content ul { padding-right:2.5em; padding-left:2.5em; }

.has-primary-background-color { background-color: var(--color-primary); }
.has-secondary-background-color { background-color: var(--color-secondary); }
.has-primary-color { color: var(--color-primary); }
.has-secondary-color { color: var(--color-secondary); }
.has-inline-color.has-primary-color a, p.has-text-color a { color:inherit; }

/* ============================================================
   Navigation (inclusive-header-navigation)
   ============================================================ */
.primary-menu-container { margin:0 auto; }
.menu-extras { display:flex; padding:.6rem 0 15px; }
.menu-toggle {
  display:flex; margin-left:auto; padding:7px .4em .4em;
  border-radius:6px; background:transparent;
  text-shadow:var(--text-shadow);
  font-size:var(--font-size-regular); font-weight:400;
}
.menu-toggle .svg-icon { margin-right:10px; fill:var(--color-link); align-self:center; }
.main-navigation .primary-menu { display:none; }
.main-navigation.toggled-on .primary-menu { display:block; }
@media screen and (max-width:56em) {
  .main-navigation.toggled-on .primary-menu { display:block; }
}
@media screen and (min-width:56em) {
  .menu-toggle, .mobile-search { display:none; }
}
.menu-item-has-children button { border:none; flex-shrink:0; background:#fff; padding:8px .8em 0; transition:box-shadow .3s ease-in-out; }
.main-navigation {
  padding:.5em 1.5em 1em;
  background: #fdf7f4;
  color:var(--color-link-menu);
  font-family:var(--highlight-font-family);
  text-shadow:var(--text-shadow);
  box-shadow:var(--menu-shadow);
}
.main-navigation ul { display:block; list-style:none; padding:0; margin:0; }
.main-navigation ul.sub-menu { display:none; width:100%; }
.main-navigation li { display:flex; flex-wrap:wrap; justify-content:flex-start; }
.main-navigation span { display:flex; justify-content:space-between; width:100%; }
.main-navigation span, .main-navigation .page_item:not(.menu-item) {
  padding:.5em; min-height:71px;
}
.main-navigation a {
  border-bottom:4px solid var(--color-theme-underline-accent);
  text-decoration:none; transition:.3s;
  color:var(--color-link-menu);
  display:block; width:100%; margin-top:7px;
}
.current-menu-item a, .current_page_item a {
  color:var(--color-link-current-menu);
  border-bottom:4px solid var(--color-theme-hover-underline-accent);
}
.main-navigation a:focus, .main-navigation a:hover {
  border-bottom:4px solid var(--color-theme-hover-underline-accent);
}
.main-navigation .menu-title { margin-top:8px; max-height:43px; font-size:var(--font-size-regular); font-weight:400; }
.main-navigation .menu-title a { display:inline; padding-bottom:12px; white-space:nowrap; }
.main-navigation .desktop-search, .main-navigation .mobile-search { display:none; }
.main-navigation.toggled-on .mobile-search { display:block; position:relative; margin-top:1em; }

@media screen and (min-width:56em) {
  .menu-extras { padding:0; }
  .main-navigation .menu-title { display:inline-block; margin-top:18px; max-height:43px; }
  .main-navigation {
    display:grid;
    grid-template-columns:min-content auto;
    grid-gap:0 .5em;
  }
  .has-menu-search .main-navigation { grid-template-columns:min-content auto min-content; }
  .main-navigation .primary-menu { display:flex; flex-wrap:wrap; justify-content:center; }
  .main-navigation li { display:block; }
  .main-navigation a.menu-custom-logo-link { margin-top:18px; }
  .main-navigation ul.sub-menu {
    background:var(--color-submenu); position:absolute;
    width:auto; min-width:10em; z-index:9999;
    border:1px solid rgba(0,0,0,.05);
  }
  .has-sticky-menu .main-navigation { position:sticky; top:0; z-index:2; }
  .has-left-align-menu .primary-menu-container { margin-left:1.5em; }
  .has-right-align-menu .primary-menu-container { margin-right:1.5em; }
}
@media screen and (max-width:56em) {
  .has-sticky-menu .main-navigation { position:static; }
}

/* ============================================================
   Footer (inclusive-footer-css)
   ============================================================ */
.site-footer { margin:3em 0 0; background:#fdf7f4; }
.site-info {
  margin:0 auto; padding:2.5em;
  font-size:var(--font-size-small);
  display:grid; grid-template-columns:1fr 1fr; grid-gap:1em;
  background:var(--color-theme-site-info);
}
.site-info a { text-decoration:none; }
.site-info a:focus, .site-info a:hover { text-decoration:underline; }
.go-to-top {
  display:block; clear:both; grid-column:2; grid-row:2;
  justify-self:end; font-weight:700;
  font-family:var(--highlight-font-family);
  font-size:var(--font-size-smallest); padding:.2em 0 0;
}
.go-to-top a { text-decoration:none; outline-offset:.5em; }
.go-to-top a:focus, .go-to-top a:hover { text-decoration:underline; }
.footer-copyright {
  display:block; clear:both; grid-column:1; grid-row:2;
  text-align:left; font-weight:700;
  font-family:var(--highlight-font-family);
  font-size:var(--font-size-smallest); padding:.2em 0 0;
}

/* ============================================================
   Boxed layout
   ============================================================ */
.has-boxed-layout .site { max-width:89%; box-shadow:var(--small-shadow); }
@media screen and (max-width:37.5em) {
  .has-boxed-layout .site { max-width:95%; }
}

/* ============================================================
   Block styles (images, columns)
   ============================================================ */
.wp-block-image { margin-bottom:1em; }
.wp-block-image img { max-width:100%; height:auto; }
.wp-block-image.aligncenter { text-align:center; }
.wp-block-image.alignfull img, .wp-block-image.alignwide img { width:100%; }
.wp-block-image .aligncenter,
.wp-block-image .alignleft,
.wp-block-image .alignright,
.wp-block-image.is-resized { display:table; margin-left:0; margin-right:0; }
.wp-block-image .alignleft { float:left; margin-right:1em; }
.wp-block-image .alignright { float:right; margin-left:1em; }
.wp-block-image .aligncenter { margin-left:auto; margin-right:auto; }
.wp-block-image figcaption {
  margin-top:.5em; margin-bottom:1em;
  color:currentColor; font-size:var(--font-size-small); text-align:center;
}

.wp-block-columns {
  display:flex; margin-bottom:28px; flex-wrap:wrap;
}
@media (min-width:782px) {
  .wp-block-columns { flex-wrap:nowrap; }
}
.wp-block-column { flex-grow:1; min-width:0; word-break:break-word; overflow-wrap:break-word; }
@media (max-width:599px) {
  .wp-block-column { flex-basis:100% !important; }
}
@media (min-width:600px) {
  .wp-block-column { flex-basis:calc(50% - 16px); flex-grow:0; }
  .wp-block-column:nth-child(2n) { margin-left:32px; }
}
@media (min-width:782px) {
  .wp-block-column:not(:first-child) { margin-left:32px; }
}
.wp-block-columns.are-vertically-aligned-center { align-items:center; }
.wp-block-column.is-vertically-aligned-center { align-self:center; }
.wp-block-columns.alignfull, .wp-block-columns.alignwide { padding-left:1em; padding-right:1em; }
.wp-block-separator { margin:1.5rem auto; border:none; border-bottom:1px solid; }

p.has-background { padding:1.5em 2em; }

/* ============================================================
   Contact form (WPForms-like)
   ============================================================ */
.wpforms-field-container { display:flex; flex-direction:column; gap:1.2em; }
.wpforms-field { display:flex; flex-direction:column; gap:.4em; }
.wpforms-field-label { font-weight:600; font-family:var(--highlight-font-family); font-size:var(--font-size-small); }
.wpforms-required-label { color:var(--color-theme-red); }
.wpforms-field-row { display:flex; gap:1em; }
.wpforms-field-row-block { display:flex; flex-direction:column; gap:.4em; flex:1; }
.wpforms-field-sublabel { font-size:var(--font-size-smallest); color:var(--color-meta); }
.wpforms-field-medium input, .wpforms-field-medium textarea { width:100%; }
textarea.wpforms-field-medium { width:100%; min-height:8em; }
.wpforms-submit-container { margin-top:1em; }
.wpforms-field-hp { position:absolute !important; overflow:hidden !important; display:inline !important; height:1px !important; width:1px !important; z-index:-1000 !important; }
