commit 0f90d0ec4b140b22050e4f310ba0167de536a6d6 Author: Sophia Atkinson Date: Tue Aug 20 23:05:39 2024 -0700 init commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c33a9a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +exampleSite/public/ +resources/ \ No newline at end of file diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..d677d28 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +tags: [] +--- + diff --git a/assets/js/bundle.js b/assets/js/bundle.js new file mode 100644 index 0000000..f07328e --- /dev/null +++ b/assets/js/bundle.js @@ -0,0 +1,827 @@ +/* +Cook The Books v2.1.0 +Licensed under CC BY-SA 4.0 +Copyright 2022-2024 Oldgate Studios +Copyright 2019-2024 ScriptsTown +Copyright 2003-2024 The WordPress.org Team +*/ +var cookthebooks = cookthebooks || {}; +function cookthebooksDomReady(e) { + if ("function" == typeof e) + return "interactive" === document.readyState || "complete" === document.readyState ? e() : void document.addEventListener("DOMContentLoaded", e, !1) +} +Math.easeInOutQuad = function(e, t, n, a) { + return (e /= a / 2) < 1 ? n / 2 * e * e + t : -n / 2 * (--e * (e - 2) - 1) + t +} +, +cookthebooks.setupMainMenu = { + init: function() { + var e, t, n, a, o, i, s, r = document.getElementById("site-navigation"); + r && (t = r.getElementsByTagName("ul")[0], + e = r.querySelector(".primary-menu-toggle"), + void 0 === t ? e && (e.style.display = "none") : (t.classList.add("nav-menu"), + t = r.querySelectorAll(".main-navigation-arrow-btn"), + n = r.querySelectorAll("li > a"), + a = r.querySelectorAll("li:not(.menu-item-has-children) > a"), + o = r.querySelectorAll("li:last-child:not(.menu-item-has-children) > a"), + i = r.querySelector(".primary-menu-search"), + s = r.querySelector(".primary-menu-search-toggle"), + this.toggleTouchClass(r), + this.toggleNavigation(e, r), + this.collapseIfClickOutside(e, r), + this.collapseIfEscapeKeyPress(e, r), + this.collapseOnResize(e, r), + this.toggleSubmenu(t, n, a, o), + this.trapFocusInModal(r), + this.toggleSearch(s, i), + this.trapFocusInSearch(i))) + }, + toggleTouchClass: function(e) { + const t = "main-navigation--touch"; + function n() { + return "ontouchstart"in window || 0 < navigator.maxTouchPoints || 0 < navigator.msMaxTouchPoints + } + n() && e.classList.add(t), + window.addEventListener("resize", function() { + n() ? e.classList.add(t) : e.classList.remove(t) + }) + }, + toggleNavigation: function(t, n) { + t && t.addEventListener("click", function(e) { + e.preventDefault(), + n.classList.toggle("toggled"), + t && ("true" === t.getAttribute("aria-expanded") ? t.setAttribute("aria-expanded", "false") : t.setAttribute("aria-expanded", "true")) + }) + }, + collapseIfClickOutside: function(e, t) { + const n = this; + document.addEventListener("click", function(e) { + t.contains(e.target) || t.classList.contains("toggled") || ([].forEach.call(t.querySelectorAll(".focus"), function(e) { + e.classList.remove("focus") + }), + [].forEach.call(t.querySelectorAll(".main-navigation-arrow-btn"), function(e) { + e.setAttribute("aria-expanded", "false") + }), + n.collapseSearchForm(t)) + }) + }, + collapseIfEscapeKeyPress: function(t, n) { + const a = this; + document.addEventListener("keyup", function(e) { + "Escape" === e.key && (n.classList.remove("toggled"), + t && t.setAttribute("aria-expanded", "false"), + a.collapseSearchForm(n)) + }) + }, + collapseOnResize: function(e, t) { + window.addEventListener("resize", function() { + window.matchMedia("screen and (min-width: 768px)").matches && (t.classList.remove("toggled"), + e) && e.setAttribute("aria-expanded", "false") + }) + }, + toggleSubmenu: function(e, t, n, a) { + function o() { + for (var e = this, t = !1; "ul" !== e.tagName.toLowerCase(); ) + "li" !== e.tagName.toLowerCase() || t || e.classList.contains("focus") || (t = e), + e = e.parentElement; + [].forEach.call(e.querySelectorAll(".focus"), function(e) { + e.classList.remove("focus") + }), + [].forEach.call(e.querySelectorAll(".main-navigation-arrow-btn"), function(e) { + e.setAttribute("aria-expanded", "false") + }), + t && (t.classList.add("focus"), + this.setAttribute("aria-expanded", "true")) + } + function i(e) { + var t = this.parentElement + , n = "Tab" === e.key + , e = e.shiftKey; + n && e && t.classList.contains("focus") ? (t.classList.remove("focus"), + this.setAttribute("aria-expanded", "false")) : !n || e || t.classList.contains("focus") || (t.classList.add("focus"), + this.setAttribute("aria-expanded", "true")) + } + function s() { + for (var e = this, t = !1; !e.classList.contains("nav-menu"); ) + t || "ul" !== e.tagName.toLowerCase() || ([].forEach.call(e.querySelectorAll(".focus"), function(e) { + e.classList.remove("focus") + }), + [].forEach.call(e.querySelectorAll(".main-navigation-arrow-btn"), function(e) { + e.setAttribute("aria-expanded", "false") + }), + t = !0), + e = e.parentElement + } + function r() { + for (var e = this; !e.classList.contains("nav-menu"); ) + "li" === e.tagName.toLowerCase() && !e.classList.contains("focus") && (e.classList.add("focus"), + e.querySelector(".main-navigation-arrow-btn")) && this.setAttribute("aria-expanded", "true"), + e = e.parentElement + } + function c(e) { + var t, n = this, a = "Tab" === e.key, e = e.shiftKey; + if (a && !e) { + for (; t = function(e) { + for (; (e = e.nextSibling) && 1 !== e.nodeType; ) + ; + return e + }(n), + n = n.parentElement, + !t; ) + ; + [].forEach.call(n.querySelectorAll(".focus"), function(e) { + e.classList.remove("focus") + }), + [].forEach.call(n.querySelectorAll(".main-navigation-arrow-btn"), function(e) { + e.setAttribute("aria-expanded", "false") + }) + } + } + [].forEach.call(e, function(e) { + e.addEventListener("click", o), + e.addEventListener("keydown", i) + }), + [].forEach.call(t, function(e) { + e.addEventListener("focus", s) + }), + [].forEach.call(n, function(e) { + e.addEventListener("focus", r) + }), + [].forEach.call(a, function(e) { + e.addEventListener("keydown", c) + }) + }, + trapFocusInModal: function(s) { + document.addEventListener("keydown", function(e) { + var t, n, a, o, i; + !s.classList.contains("toggled") || (n = s.querySelectorAll("input, a, button")).length < 1 || (t = n[0], + n = n[n.length - 1], + a = document.activeElement, + o = "Tab" === e.key, + i = e.shiftKey, + o && !i && n === a && (e.preventDefault(), + t.focus()), + o && i && t === a && (e.preventDefault(), + n.focus())) + }) + }, + toggleSearch: function(t, n) { + t && n && t.addEventListener("click", function(e) { + e.preventDefault(), + n.classList.toggle("toggled"), + "true" === t.getAttribute("aria-expanded") ? t.setAttribute("aria-expanded", "false") : t.setAttribute("aria-expanded", "true") + }) + }, + collapseSearchForm: function(e) { + var t = e.querySelector(".primary-menu-search") + , e = e.querySelector(".primary-menu-search-toggle"); + t && t.classList.remove("toggled"), + e && e.setAttribute("aria-expanded", "false") + }, + trapFocusInSearch: function(s) { + document.addEventListener("keydown", function(e) { + var t, n, a, o, i; + s && s.classList.contains("toggled") && (n = s.querySelector(".primary-menu-search-toggle"), + "none" === window.getComputedStyle(n, null).display || (n = s.querySelectorAll("input, a, button")).length < 1 || (t = n[0], + n = n[n.length - 1], + a = document.activeElement, + o = "Tab" === e.key, + i = e.shiftKey, + o && !i && n === a && (e.preventDefault(), + t.focus()), + o && i && t === a && (e.preventDefault(), + n.focus()))) + }) + } +}, +cookthebooks.goToTop = { + offset: 300, + offsetOpacity: 1200, + scrollDuration: 700, + init: function() { + var e = document.querySelector(".go-to-top"); + e && (this.handleScroll(e), + this.handleClick(e)) + }, + handleScroll: function(t) { + var n = this.offset + , a = this.offsetOpacity + , o = !1; + function e() { + var e = window.scrollY || document.documentElement.scrollTop; + n < e ? t.classList.add("go-to-top--show") : (t.classList.remove("go-to-top--show"), + t.classList.remove("go-to-top--fade-out")), + a < e && t.classList.add("go-to-top--fade-out"), + o = !1 + } + window.addEventListener("scroll", function() { + o || (o = !0, + window.requestAnimationFrame ? window.requestAnimationFrame(e) : setTimeout(e, 250)) + }) + }, + handleClick: function(t) { + t.addEventListener("click", function(e) { + function n(e) { + var e = e - (r = r || e) + , t = (o < e && (e = o), + Math.easeInOutQuad(e, s, a - s, o)); + window.scrollTo(0, t), + e < o ? window.requestAnimationFrame(n) : i && i() + } + var a, o, i, s, r; + e.preventDefault(), + window.requestAnimationFrame ? (a = 0, + o = this.scrollDuration, + s = window.scrollY || document.documentElement.scrollTop, + r = null, + window.requestAnimationFrame(n)) : window.scrollTo(0, 0), + t.blur() + } + .bind(this)) + } +}, +cookthebooksDomReady(function() { + cookthebooks.setupMainMenu.init(), + cookthebooks.goToTop.init() +}); +/* +ResizeObserver.js +*/ +!function(t, e) { + "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.ResizeObserver = e() +}(this, function() { + "use strict"; + var r = function() { + if ("undefined" != typeof Map) + return Map; + function r(t, n) { + var r = -1; + return t.some(function(t, e) { + return t[0] === n && (r = e, + !0) + }), + r + } + return function() { + function t() { + this.__entries__ = [] + } + return Object.defineProperty(t.prototype, "size", { + get: function() { + return this.__entries__.length + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.get = function(t) { + var e = r(this.__entries__, t) + , n = this.__entries__[e]; + return n && n[1] + } + , + t.prototype.set = function(t, e) { + var n = r(this.__entries__, t); + ~n ? this.__entries__[n][1] = e : this.__entries__.push([t, e]) + } + , + t.prototype.delete = function(t) { + var e = this.__entries__ + , n = r(e, t); + ~n && e.splice(n, 1) + } + , + t.prototype.has = function(t) { + return !!~r(this.__entries__, t) + } + , + t.prototype.clear = function() { + this.__entries__.splice(0) + } + , + t.prototype.forEach = function(t, e) { + void 0 === e && (e = null); + for (var n = 0, r = this.__entries__; n < r.length; n++) { + var i = r[n]; + t.call(e, i[1], i[0]) + } + } + , + t + }() + }() + , n = "undefined" != typeof window && "undefined" != typeof document && window.document === document + , e = "undefined" != typeof global && global.Math === Math ? global : "undefined" != typeof self && self.Math === Math ? self : "undefined" != typeof window && window.Math === Math ? window : Function("return this")() + , a = "function" == typeof requestAnimationFrame ? requestAnimationFrame.bind(e) : function(t) { + return setTimeout(function() { + return t(Date.now()) + }, 1e3 / 60) + } + , h = 2; + var i = ["top", "right", "bottom", "left", "width", "height", "size", "weight"] + , o = "undefined" != typeof MutationObserver + , s = function() { + function t() { + this.connected_ = !1, + this.mutationEventsAdded_ = !1, + this.mutationsObserver_ = null, + this.observers_ = [], + this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), + this.refresh = function(t, e) { + var n = !1 + , r = !1 + , i = 0; + function o() { + n && (n = !1, + t()), + r && c() + } + function s() { + a(o) + } + function c() { + var t = Date.now(); + if (n) { + if (t - i < h) + return; + r = !0 + } else + r = !(n = !0), + setTimeout(s, e); + i = t + } + return c + }(this.refresh.bind(this), 20) + } + return t.prototype.addObserver = function(t) { + ~this.observers_.indexOf(t) || this.observers_.push(t), + this.connected_ || this.connect_() + } + , + t.prototype.removeObserver = function(t) { + var e = this.observers_ + , n = e.indexOf(t); + ~n && e.splice(n, 1), + !e.length && this.connected_ && this.disconnect_() + } + , + t.prototype.refresh = function() { + this.updateObservers_() && this.refresh() + } + , + t.prototype.updateObservers_ = function() { + var t = this.observers_.filter(function(t) { + return t.gatherActive(), + t.hasActive() + }); + return t.forEach(function(t) { + return t.broadcastActive() + }), + 0 < t.length + } + , + t.prototype.connect_ = function() { + n && !this.connected_ && (document.addEventListener("transitionend", this.onTransitionEnd_), + window.addEventListener("resize", this.refresh), + o ? (this.mutationsObserver_ = new MutationObserver(this.refresh), + this.mutationsObserver_.observe(document, { + attributes: !0, + childList: !0, + characterData: !0, + subtree: !0 + })) : (document.addEventListener("DOMSubtreeModified", this.refresh), + this.mutationEventsAdded_ = !0), + this.connected_ = !0) + } + , + t.prototype.disconnect_ = function() { + n && this.connected_ && (document.removeEventListener("transitionend", this.onTransitionEnd_), + window.removeEventListener("resize", this.refresh), + this.mutationsObserver_ && this.mutationsObserver_.disconnect(), + this.mutationEventsAdded_ && document.removeEventListener("DOMSubtreeModified", this.refresh), + this.mutationsObserver_ = null, + this.mutationEventsAdded_ = !1, + this.connected_ = !1) + } + , + t.prototype.onTransitionEnd_ = function(t) { + var e = t.propertyName + , n = void 0 === e ? "" : e; + i.some(function(t) { + return !!~n.indexOf(t) + }) && this.refresh() + } + , + t.getInstance = function() { + return this.instance_ || (this.instance_ = new t), + this.instance_ + } + , + t.instance_ = null, + t + }() + , u = function(t, e) { + for (var n = 0, r = Object.keys(e); n < r.length; n++) { + var i = r[n]; + Object.defineProperty(t, i, { + value: e[i], + enumerable: !1, + writable: !1, + configurable: !0 + }) + } + return t + } + , d = function(t) { + return t && t.ownerDocument && t.ownerDocument.defaultView || e + } + , p = b(0, 0, 0, 0); + function v(t) { + return parseFloat(t) || 0 + } + function l(n) { + for (var t = [], e = 1; e < arguments.length; e++) + t[e - 1] = arguments[e]; + return t.reduce(function(t, e) { + return t + v(n["border-" + e + "-width"]) + }, 0) + } + function c(t) { + var e = t.clientWidth + , n = t.clientHeight; + if (!e && !n) + return p; + var r, i = d(t).getComputedStyle(t), o = function(t) { + for (var e = {}, n = 0, r = ["top", "right", "bottom", "left"]; n < r.length; n++) { + var i = r[n] + , o = t["padding-" + i]; + e[i] = v(o) + } + return e + }(i), s = o.left + o.right, c = o.top + o.bottom, a = v(i.width), h = v(i.height); + if ("border-box" === i.boxSizing && (Math.round(a + s) !== e && (a -= l(i, "left", "right") + s), + Math.round(h + c) !== n && (h -= l(i, "top", "bottom") + c)), + (r = t) !== d(r).document.documentElement) { + var u = Math.round(a + s) - e + , f = Math.round(h + c) - n; + 1 !== Math.abs(u) && (a -= u), + 1 !== Math.abs(f) && (h -= f) + } + return b(o.left, o.top, a, h) + } + var f = "undefined" != typeof SVGGraphicsElement ? function(t) { + return t instanceof d(t).SVGGraphicsElement + } + : function(t) { + return t instanceof d(t).SVGElement && "function" == typeof t.getBBox + } + ; + function _(t) { + return n ? f(t) ? b(0, 0, (e = t.getBBox()).width, e.height) : c(t) : p; + var e + } + function b(t, e, n, r) { + return { + x: t, + y: e, + width: n, + height: r + } + } + var m = function() { + function t(t) { + this.broadcastWidth = 0, + this.broadcastHeight = 0, + this.contentRect_ = b(0, 0, 0, 0), + this.target = t + } + return t.prototype.isActive = function() { + var t = _(this.target); + return (this.contentRect_ = t).width !== this.broadcastWidth || t.height !== this.broadcastHeight + } + , + t.prototype.broadcastRect = function() { + var t = this.contentRect_; + return this.broadcastWidth = t.width, + this.broadcastHeight = t.height, + t + } + , + t + }() + , y = function(t, e) { + var n, r, i, o, s, c, a, h = (r = (n = e).x, + i = n.y, + o = n.width, + s = n.height, + c = "undefined" != typeof DOMRectReadOnly ? DOMRectReadOnly : Object, + a = Object.create(c.prototype), + u(a, { + x: r, + y: i, + width: o, + height: s, + top: i, + right: r + o, + bottom: s + i, + left: r + }), + a); + u(this, { + target: t, + contentRect: h + }) + } + , g = function() { + function t(t, e, n) { + if (this.activeObservations_ = [], + this.observations_ = new r, + "function" != typeof t) + throw new TypeError("The callback provided as parameter 1 is not a function."); + this.callback_ = t, + this.controller_ = e, + this.callbackCtx_ = n + } + return t.prototype.observe = function(t) { + if (!arguments.length) + throw new TypeError("1 argument required, but only 0 present."); + if ("undefined" != typeof Element && Element instanceof Object) { + if (!(t instanceof d(t).Element)) + throw new TypeError('parameter 1 is not of type "Element".'); + var e = this.observations_; + e.has(t) || (e.set(t, new m(t)), + this.controller_.addObserver(this), + this.controller_.refresh()) + } + } + , + t.prototype.unobserve = function(t) { + if (!arguments.length) + throw new TypeError("1 argument required, but only 0 present."); + if ("undefined" != typeof Element && Element instanceof Object) { + if (!(t instanceof d(t).Element)) + throw new TypeError('parameter 1 is not of type "Element".'); + var e = this.observations_; + e.has(t) && (e.delete(t), + e.size || this.controller_.removeObserver(this)) + } + } + , + t.prototype.disconnect = function() { + this.clearActive(), + this.observations_.clear(), + this.controller_.removeObserver(this) + } + , + t.prototype.gatherActive = function() { + var e = this; + this.clearActive(), + this.observations_.forEach(function(t) { + t.isActive() && e.activeObservations_.push(t) + }) + } + , + t.prototype.broadcastActive = function() { + if (this.hasActive()) { + var t = this.callbackCtx_ + , e = this.activeObservations_.map(function(t) { + return new y(t.target,t.broadcastRect()) + }); + this.callback_.call(t, e, t), + this.clearActive() + } + } + , + t.prototype.clearActive = function() { + this.activeObservations_.splice(0) + } + , + t.prototype.hasActive = function() { + return 0 < this.activeObservations_.length + } + , + t + }() + , w = "undefined" != typeof WeakMap ? new WeakMap : new r + , t = function t(e) { + if (!(this instanceof t)) + throw new TypeError("Cannot call a class as a function."); + if (!arguments.length) + throw new TypeError("1 argument required, but only 0 present."); + var n = s.getInstance() + , r = new g(e,n,this); + w.set(this, r) + }; + return ["observe", "unobserve", "disconnect"].forEach(function(e) { + t.prototype[e] = function() { + var t; + return (t = w.get(this))[e].apply(t, arguments) + } + }), + void 0 !== e.ResizeObserver ? e.ResizeObserver : t +}); +/*! Copyright Twitter Inc. and other contributors. Licensed under MIT */ +var twemoji = function () { + "use strict"; + var twemoji = { + base: "https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.1.0/assets/", + ext: ".svg", + size: "svg", + className: "emoji", + convert: { + fromCodePoint: fromCodePoint, + toCodePoint: toCodePoint + }, + onerror: function onerror() { + if (this.parentNode) { + this.parentNode.replaceChild(createText(this.alt, false), this) + } + }, + parse: parse, + replace: replace, + test: test + }, + escaper = { + "&": "&", + "<": "<", + ">": ">", + "'": "'", + '"': """ + }, + re = /(?:\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c[\udffc-\udfff]|\ud83e\udef1\ud83c\udffc\u200d\ud83e\udef2\ud83c[\udffb\udffd-\udfff]|\ud83e\udef1\ud83c\udffd\u200d\ud83e\udef2\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\udef1\ud83c\udffe\u200d\ud83e\udef2\ud83c[\udffb-\udffd\udfff]|\ud83e\udef1\ud83c\udfff\u200d\ud83e\udef2\ud83c[\udffb-\udffe]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d\udc8f\ud83c[\udffb-\udfff]|\ud83d\udc91\ud83c[\udffb-\udfff]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91]|\ud83e\udd1d)|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd4\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83d\ude36\u200d\ud83c\udf2b\ufe0f|\u2764\ufe0f\u200d\ud83d\udd25|\u2764\ufe0f\u200d\ud83e\ude79|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83d\ude2e\u200d\ud83d\udca8|\ud83d\ude35\u200d\ud83d\udcab|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[©®\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd\udec3-\udec5\udef0-\udef6]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udc8e\udc90\udc92-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udedd-\udedf\udeeb\udeec\udef4-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78-\uddb4\uddb7\uddba\uddbc-\uddcc\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec2\uded0-\uded9\udee0-\udee7]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g, + UFE0Fg = /\uFE0F/g, + U200D = String.fromCharCode(8205), + rescaper = /[&<>'"]/g, + shouldntBeParsed = /^(?:iframe|noframes|noscript|script|select|style|textarea)$/, + fromCharCode = String.fromCharCode; + return twemoji; + + function createText(text, clean) { + return document.createTextNode(clean ? text.replace(UFE0Fg, "") : text) + } + + function escapeHTML(s) { + return s.replace(rescaper, replacer) + } + + function defaultImageSrcGenerator(icon, options) { + return "".concat(options.base, options.size, "/", icon, options.ext) + } + + function grabAllTextNodes(node, allText) { + var childNodes = node.childNodes, + length = childNodes.length, + subnode, nodeType; + while (length--) { + subnode = childNodes[length]; + nodeType = subnode.nodeType; + if (nodeType === 3) { + allText.push(subnode) + } else if (nodeType === 1 && !("ownerSVGElement" in subnode) && !shouldntBeParsed.test(subnode.nodeName.toLowerCase())) { + grabAllTextNodes(subnode, allText) + } + } + return allText + } + + function grabTheRightIcon(rawText) { + return toCodePoint(rawText.indexOf(U200D) < 0 ? rawText.replace(UFE0Fg, "") : rawText) + } + + function parseNode(node, options) { + var allText = grabAllTextNodes(node, []), + length = allText.length, + attrib, attrname, modified, fragment, subnode, text, match, i, index, img, rawText, iconId, src; + while (length--) { + modified = false; + fragment = document.createDocumentFragment(); + subnode = allText[length]; + text = subnode.nodeValue; + i = 0; + while (match = re.exec(text)) { + index = match.index; + if (index !== i) { + fragment.appendChild(createText(text.slice(i, index), true)) + } + rawText = match[0]; + iconId = grabTheRightIcon(rawText); + i = index + rawText.length; + src = options.callback(iconId, options); + if (iconId && src) { + img = new Image; + img.onerror = options.onerror; + img.setAttribute("draggable", "false"); + img.setAttribute("loading", "lazy"); + attrib = options.attributes(rawText, iconId); + for (attrname in attrib) { + if (attrib.hasOwnProperty(attrname) && attrname.indexOf("on") !== 0 && !img.hasAttribute(attrname)) { + img.setAttribute(attrname, attrib[attrname]) + } + } + img.className = options.className; + img.alt = rawText; + img.src = src; + modified = true; + fragment.appendChild(img) + } + if (!img) + fragment.appendChild(createText(rawText, false)); + img = null + } + if (modified) { + if (i < text.length) { + fragment.appendChild(createText(text.slice(i), true)) + } + subnode.parentNode.replaceChild(fragment, subnode) + } + } + return node + } + + function parseString(str, options) { + return replace(str, function(rawText) { + var ret = rawText, + iconId = grabTheRightIcon(rawText), + src = options.callback(iconId, options), + attrib, attrname; + if (iconId && src) { + ret = "") + } + return ret + }) + } + + function replacer(m) { + return escaper[m] + } + + function returnNull() { + return null + } + + function toSizeSquaredAsset(value) { + return typeof value === "number" ? value + "x" + value : value + } + + function fromCodePoint(codepoint) { + var code = typeof codepoint === "string" ? parseInt(codepoint, 16) : codepoint; + if (code < 65536) { + return fromCharCode(code) + } + code -= 65536; + return fromCharCode(55296 + (code >> 10), 56320 + (code & 1023)) + } + + function parse(what, how) { + if (!how || typeof how === "function") { + how = { + callback: how + } + } + return (typeof what === "string" ? parseString : parseNode)(what, { + callback: how.callback || defaultImageSrcGenerator, + attributes: typeof how.attributes === "function" ? how.attributes : returnNull, + base: typeof how.base === "string" ? how.base : twemoji.base, + ext: how.ext || twemoji.ext, + size: how.folder || toSizeSquaredAsset(how.size || twemoji.size), + className: how.className || twemoji.className, + onerror: how.onerror || twemoji.onerror + }) + } + + function replace(text, callback) { + return String(text).replace(re, callback) + } + + function test(text) { + re.lastIndex = 0; + var result = re.test(text); + re.lastIndex = 0; + return result + } + + function toCodePoint(unicodeSurrogates, sep) { + var r = [], + c = 0, + p = 0, + i = 0; + while (i < unicodeSurrogates.length) { + c = unicodeSurrogates.charCodeAt(i++); + if (p) { + r.push((65536 + (p - 55296 << 10) + (c - 56320)).toString(16)); + p = 0 + } else if (55296 <= c && c <= 56319) { + p = c + } else { + r.push(c.toString(16)) + } + } + return r.join(sep || "-") + } +}(); \ No newline at end of file diff --git a/assets/js/eslint.config.mjs b/assets/js/eslint.config.mjs new file mode 100644 index 0000000..3f7ae4d --- /dev/null +++ b/assets/js/eslint.config.mjs @@ -0,0 +1,9 @@ +import globals from "globals"; +import pluginJs from "@eslint/js"; + + +export default [ + {files: ["**/*.js"], languageOptions: {sourceType: "commonjs"}}, + {languageOptions: { globals: globals.browser }}, + pluginJs.configs.recommended, +]; \ No newline at end of file diff --git a/assets/scss/_custom.scss b/assets/scss/_custom.scss new file mode 100644 index 0000000..d3401f7 --- /dev/null +++ b/assets/scss/_custom.scss @@ -0,0 +1,65 @@ +:root { + --text-color: #fff; + --background: #383C4A; + --background-darker: #2E323E; + --background-darkest: #2A2D38; + --blue: #5BCEFA; + --pink: #F5A9B8; + --blurple: #7289DA; + --dark-blurple: #4E5D94; + --href: var(--blurple); + --href-darker: var(--dark-blurple); + --main-font: "OpenDyslexic2"; +} + +#shadow img { + position: relative; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.15); + border-radius: 25px; +} + +.pulse { + animation: pulse 1s infinite ease-in-out alternate; +} + +@keyframes pulse { + from { + transform: scale(0.8); + } + to { + transform: scale(1.2); + } +} + +#wordmark { + filter: drop-shadow(2px 2px 4px #222); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +#universe .grid-container { + padding-top: 2px; + align-items: center; + box-sizing: border-box; + display: flex; + flex-wrap: wrap; +} + +#universe figure { + text-align: center; + padding: 5px; +} + +#universe figcaption { + background-color: var(--blurple); +} + +#universe figure img { + border-radius: 2px; + background-color: var(--dark-blurple); + padding-bottom: 0; + height: 475px; + width: 260px; +} diff --git a/assets/scss/_fonts.scss b/assets/scss/_fonts.scss new file mode 100644 index 0000000..495fadd --- /dev/null +++ b/assets/scss/_fonts.scss @@ -0,0 +1,23 @@ +@font-face { + font-family: 'OpenDyslexic2'; + src: url('/content/opendyslexic/OpenDyslexic-Regular.otf'); + font-weight: normal; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'OpenDyslexic2'; + src: url('/content/opendyslexic/OpenDyslexic-Bold.otf'); + font-weight: bold; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'OpenDyslexic2'; + src: url('/content/opendyslexic/OpenDyslexic-Italic.otf'); + font-weight: normal; + font-style: italic; + font-display: swap; +} \ No newline at end of file diff --git a/assets/scss/_pressbook.scss b/assets/scss/_pressbook.scss new file mode 100644 index 0000000..1f4751b --- /dev/null +++ b/assets/scss/_pressbook.scss @@ -0,0 +1,2780 @@ +::selection, +::-moz-selection { + background: var(--href); +} + +::-webkit-scrollbar, +[hidden], +template, +.top-banner-hide-sm, +.top-banner-hide-sm .top-banner-image, +.main-navigation.toggled .primary-menu-toggle .svg-icon:first-child, +.main-navigation:not(.toggled) .primary-menu-toggle .svg-icon:last-child, +.updated:not(.published), +.infinite-scroll .navigation.pagination, +.infinite-scroll.neverending .site-footer { + display: none; +} + +html { + line-height: 1.15; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0; + font-family: var(--main-font); +} + +main, +details, +.block-image img, +.top-banner-image, +.top-banner-link, +.main-navigation.toggled ul, +.ctb-archive.has-post-thumbnail .ctb-content>.post-thumbnail, +.ctb-singular>.post-thumbnail, +.infinity-end.neverending .site-footer, +.ctb-archive .ctb-content>.post-thumbnail img, +.ctb-singular>.post-thumbnail img, +.gallery-caption { + display: block +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible +} + +a { + color: var(--text-color); + text-decoration: underline; + background: 0 0; + transition: .25s all +} + +a:active, +a:focus, +a:hover { + color: var(--href); +} + +abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted +} + +b, +strong { + font-weight: bolder +} + +code, +kbd, +samp { + font-size: 1em +} + +small { + font-size: 80% +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sub { + bottom: -.25em +} + +sup { + top: -.5em +} + +img { + border-style: none +} + +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 { + appearance: button +} + +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner, +button::-moz-focus-inner { + border-style: none; + padding: 0 +} + +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring, +button:-moz-focusring { + outline: 1px dotted ButtonText +} + +fieldset { + padding: .35em .75em .625em +} + +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal +} + +progress { + vertical-align: baseline +} + +textarea { + overflow: auto +} + +[type=checkbox], +[type=radio] { + box-sizing: border-box; + padding: 0 +} + +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto +} + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +summary { + display: list-item; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +*, +::after, +::before { + box-sizing: inherit +} + +html { + box-sizing: border-box +} + +body, +button, +input, +select, +optgroup, +textarea, +code, +kbd, +tt, +var, +pre, +.entry-title, +em, +li, +.main-navigation a { + color: var(--text-color); + font-size: 16px; + font-size: 1rem; + line-height: 1.75; + background: 0 0; + border: 0; +} + +@media screen and (min-width:768px) { + + body, + button, + input, + optgroup, + select, + textarea { + font-size: 17px; + font-size: 1.0625rem + } +} + +h1, h2, h3, h4, h5, h6 { + clear: both; + font-weight: normal; + color: var(--text-color); +} + +h1 { + font-size: 1.94em; + margin: .67em 0 +} + +h2 { + font-size: 1.78em; + margin: .73em 0 +} + +h3 { + font-size: 1.62em; + margin: .8em 0 +} + +h4 { + font-size: 1.46em; + margin: .89em 0 +} + +h5 { + font-size: 1.3em; + margin: 1em 0 +} + +h6 { + font-size: 1.14em; + margin: 1.14em 0 +} + +p { + margin-top: 0; + margin-bottom: 1.5em +} + +cite, +dfn, +em, +i { + font-style: italic +} + +blockquote { + margin: 0 1.5em +} + +address { + margin: 0 0 1.5em +} + +pre { + line-height: 1.6; + margin-bottom: 1.75em; + max-width: 100%; + overflow: auto; + padding: 1.6em; + font-size: 1em; + background-color: #272822 !important; +} + +abbr, +acronym { + border-bottom: 1px dotted #666; + cursor: help +} + +ins, +mark { + background: var(--text-color); + text-decoration: none +} + +.p a, +.p mark { + color: var(--href); + text-decoration: none; +} + +big { + font-size: 125% +} + +hr { + background: #ccc; + border: 0; + height: 1px; + margin-bottom: 1.5em +} + +ol, +ul { + margin: 0 0 1.5em 0; + padding: 0; + list-style-position: inside +} + +ul { + list-style-type: disc +} + +ol { + list-style-type: decimal +} + +ol ul, +ul ul { + list-style-type: circle +} + +li>ol, +li>ul { + margin-bottom: 0; + margin-left: 1.5em +} + +/* li:not(:first-child) { + padding-top: .2em +} + +li:not(:last-child) { + padding-bottom: .2em +} */ + +li>ol>li:first-child, +li>ul>li:first-child { + padding-top: .4em +} + +dt { + font-weight: 700 +} + +dd { + margin: 0 1.5em 1.5em +} + +embed, +iframe, +object { + max-width: 100% +} + +img { + height: auto; + max-width: 100% +} + +figure { + margin: 0 0 1em 0 +} + +table { + margin: 0 0 1.5em; + width: 100%; + border-collapse: collapse +} + +table, +td, +th { + border: 1px solid #e1e1e1 +} + +td, +th { + padding: .2em .4em +} + +p.has-text-color a, +p.has-text-color a:active, +p.has-text-color a:focus, +p.has-text-color a:hover { + color: inherit +} + +.more-link:active, +.more-link:focus, +.more-link:hover, +button:active, +button:focus, +button:hover, +input[type=button]:active, +input[type=button]:focus, +input[type=button]:hover, +input[type=reset]:active, +input[type=reset]:focus, +input[type=reset]:hover, +input[type=submit]:active, +input[type=submit]:focus, +input[type=submit]:hover { + background-position: right center; + background-color: transparent; +} + +.more-link:active, +.more-link:focus, +button:active, +button:focus, +input[type=button]:active, +input[type=button]:focus, +input[type=reset]:active, +input[type=reset]:focus, +input[type=submit]:active, +input[type=submit]:focus { + outline-style: dashed; + outline-width: thin +} + +.more-link:focus:not(:focus-visible), +button:focus:not(:focus-visible), +input[type=button]:focus:not(:focus-visible), +input[type=reset]:focus:not(:focus-visible), +input[type=submit]:focus:not(:focus-visible) { + outline: 0 +} + +input[type=color], +input[type=date], +input[type=datetime-local], +input[type=datetime], +input[type=email], +input[type=month], +input[type=number], +input[type=password], +input[type=range], +input[type=tel], +input[type=text], +input[type=time], +input[type=url], +input[type=week], +select, +textarea { + display: block; + max-width: 100%; + padding: 8px 10px; + border: 1px solid #ccc; + border-radius: 0; + color: #666 +} + +input[type=color]:focus, +input[type=date]:focus, +input[type=datetime-local]:focus, +input[type=datetime]:focus, +input[type=email]:focus, +input[type=month]:focus, +input[type=number]:focus, +input[type=password]:focus, +input[type=range]:focus, +input[type=tel]:focus, +input[type=text]:focus, +input[type=time]:focus, +input[type=url]:focus, +input[type=week]:focus, +select:focus, +textarea:focus { + color: #111; + outline-style: dashed; + outline-width: thin +} + +input[type=color], +input[type=date], +input[type=datetime-local], +input[type=datetime], +input[type=email], +input[type=month], +input[type=number], +input[type=password], +input[type=range], +input[type=tel], +input[type=text], +input[type=time], +input[type=url], +input[type=week] { + line-height: normal +} + +textarea { + width: 100% +} + +.block-quote p { + margin-bottom: .75em +} + +.block-quote.is-large p, +.block-quote.is-style-large p { + font-size: 1.3em +} + +.block-quote cite, +.block-quote footer, +.block-quote__citation { + font-size: .85em +} + +.block-quote.is-large cite, +.block-quote.is-large footer, +.block-quote.is-style-large cite, +.block-quote.is-style-large footer { + font-size: .95em +} + +.block-quote, +.block-quote.is-large, +.block-quote.is-style-large { + margin-bottom: 1.75em +} + +.block-pullquote { + padding: 2.4em 0 +} + +.block-pullquote p { + font-size: 1.75em; + margin-bottom: 0 +} + +.block-pullquote cite, +.block-pullquote footer, +.block-pullquote__citation { + display: block; + margin-top: 1.5em +} + +.block-pullquote.is-style-solid-color blockquote p { + font-size: 1.9em +} + +.block-pullquote.is-style-solid-color blockquote { + max-width: 70% +} + +.block-pullquote.is-style-solid-color blockquote cite { + color: inherit +} + +.block-audio, +.block-calendar, +.block-embed, +.block-gallery, +.block-image, +.block-media-text, +.block-table, +.block-video { + margin-bottom: 1.5em +} + +.block-media-text .block-media-text__media { + margin-bottom: 1em +} + +@media screen and (min-width:600px) { + .block-media-text .block-media-text__media { + margin-bottom: 0 + } +} + +.block-calendar table:where(:not(.has-text-color)) { + color: inherit +} + +.block-calendar .calendar-table, +.block-table table { + margin-bottom: 0 +} + +.block-calendar .calendar-nav { + margin-top: .5em +} + + +.block-embed figcaption, +.block-gallery figcaption, +.block-image figcaption, +.block-table figcaption, +.block-video figcaption { + font-size: .85em +} + +.block-embed figcaption, +.block-image figcaption, +.block-table figcaption, +.block-video figcaption { + margin-top: 1em; + margin-bottom: 0 +} + +.block-audio figcaption { + margin-top: .75em; + margin-bottom: 0; + font-size: .8em +} + +.block-table.is-style-stripes { + border-bottom: 0 +} + +.block-code { + padding: 0; + border: 0; + border-radius: 0 +} + +.block-code>code { + padding: .8em 1em; + border: 1px solid #ddd; + border-radius: 4px; + color: inherit +} + +.block-rss { + padding: 0; + list-style-type: none +} + +.block-rss .block-rss__item:not(:last-child) { + margin-bottom: 1em +} + +.block-rss .block-rss__item:not(:first-child) { + padding-top: 0 +} + +.block-button__link { + text-decoration: none +} + +.block-social-links .block-social-link { + padding: 0 +} + +.site { + display: flex; + flex-direction: column; + min-height: 100vh; + overflow-x: hidden +} + +.site-main, +body { + background: var(--background) !important; +} + +.site-content { + flex-grow: 1 +} + +.u-wrapper { + width: 100%; + margin-left: auto; + margin-right: auto; + padding-left: 10px; + padding-right: 10px +} + +@media screen and (min-width:576px) { + .u-wrapper { + max-width: 540px; + padding-left: 15px; + padding-right: 15px + } +} + +@media screen and (min-width:768px) { + .u-wrapper { + max-width: 720px + } +} + +@media screen and (min-width:992px) { + .u-wrapper { + max-width: 960px + } +} + +@media screen and (min-width:1200px) { + .u-wrapper { + max-width: 1140px + } +} + +@media screen and (min-width:1280px) { + body.double-sidebar .u-wrapper { + max-width: 1230px + } +} + +@media screen and (min-width:1360px) { + body.double-sidebar .u-wrapper { + max-width: 1280px + } +} + +@media screen and (min-width:1400px) { + body.double-sidebar .u-wrapper { + max-width: 1320px + } +} + +.ctb-content-sidebar { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: flex-start; + margin-top: 1.5em +} + +.ctb-content-sidebar::after { + content: ''; + width: 100% +} + +.site-main { + max-width: 670px; + width: 100%; + flex-basis: 100%; + margin-bottom: 1.5em +} + +body.page.page-template-small .ctb-content-sidebar, +body.post.post-template-small .ctb-content-sidebar { + max-width: 750px +} + +body.page.page-template-medium .ctb-content-sidebar, +body.post.post-template-medium .ctb-content-sidebar { + max-width: 1140px +} + +body.page.page-template-large .ctb-content-sidebar, +body.post.post-template-large .ctb-content-sidebar { + max-width: 1320px +} + +body.page.page-template-default .site-main, +body.page.page-template-full .ctb-content-sidebar, +body.page.page-template-full .site-main, +body.page.page-template-large .site-main, +body.page.page-template-medium .site-main, +body.page.page-template-small .site-main, +body.post.post-template-default .site-main, +body.post.post-template-full .ctb-content-sidebar, +body.post.post-template-full .site-main, +body.post.post-template-large .site-main, +body.post.post-template-medium .site-main, +body.post.post-template-small .site-main { + max-width: 100% +} + +body.content-no-t-padding .site .site-content .site-main, +body.side-widget-no-t-padding .site .site-content .c-sidebar .widget { + padding-top: 0 +} + +body.content-no-b-padding .site .site-content .site-main, +body.side-widget-no-b-padding .site .site-content .c-sidebar .widget { + padding-bottom: 0 +} + +body.content-no-x-padding .site .site-content .site-main, +body.side-widget-no-x-padding .site .site-content .c-sidebar .widget { + padding-left: 0; + padding-right: 0 +} + +body.side-widget-no-shadow .c-sidebar .widget { + box-shadow: none +} + +.c-sidebar { + max-width: 310px; + min-width: 260px; + flex-grow: 1; + flex-basis: 30% +} + +.c-sidebar-left { + order: 1 +} + +.c-sidebar-right { + order: 2 +} + + + +.c-sidebar .widget { + border: 1px solid #fafafa; + box-shadow: 1px 2px 3px #00000012 +} + +@media screen and (min-width:350px) { + .c-sidebar { + max-width: 330px + } + + .c-sidebar .widget { + padding: 19px 24px + } + + body.double-sidebar .c-sidebar { + min-width: 330px + } +} + +@media screen and (min-width:576px) { + .site-main { + padding: 24px 34px + } + + .c-sidebar { + max-width: 340px + } + + .c-sidebar .widget { + padding: 24px 29px + } +} + +@media screen and (min-width:768px) { + body.double-sidebar .ctb-content-sidebar { + flex-wrap: wrap + } + + body.double-sidebar .ctb-content-sidebar::after { + content: '' + } + + body.double-sidebar .c-sidebar { + max-width: 320px + } + + body.double-sidebar .c-sidebar .widget { + padding-left: 24px; + padding-right: 24px + } + + body.double-sidebar .c-sidebar-left, + body.double-sidebar .c-sidebar-right { + margin-left: auto; + margin-right: auto + } +} + +@media screen and (min-width:1024px) { + .ctb-content-sidebar { + flex-wrap: nowrap + } + + .ctb-content-sidebar::after { + content: none + } + + .site-main { + padding-top: 29px; + padding-bottom: 29px + } + + body.no-sidebar .site-main { + max-width: 750px + } + + body.no-sidebar .site-main, + body.page.page-template-default .site-main, + body.page.page-template-full .site-main, + body.page.page-template-large .site-main, + body.page.page-template-medium .site-main, + body.page.page-template-small .site-main, + body.post.post-template-default .site-main, + body.post.post-template-full .site-main, + body.post.post-template-large .site-main, + body.post.post-template-medium .site-main, + body.post.post-template-small .site-main { + padding-left: 49px; + padding-right: 49px + } + + body.single-sidebar .site-main { + max-width: 630px; + padding-left: 24px; + padding-right: 24px + } + + body.single-sidebar .c-sidebar .widget { + padding: 19px 24px + } + + body.single-sidebar .c-sidebar-left { + margin-right: 25px; + order: -1 + } + + body.single-sidebar .c-sidebar-right { + margin-left: 25px + } + + body.double-sidebar .site-main { + max-width: 750px; + padding-left: 49px; + padding-right: 49px + } +} + +@media screen and (min-width:1200px) { + body.no-sidebar .site-main { + max-width: 750px + } + + body.single-sidebar .site-main { + max-width: 730px; + padding-left: 39px; + padding-right: 39px + } + + .c-sidebar { + max-width: 340px + } + + body.single-sidebar .c-sidebar-left { + margin-right: auto + } + + body.single-sidebar .c-sidebar-right { + margin-left: auto + } + + body.single-sidebar .c-sidebar .widget { + padding: 24px 29px + } +} + +@media screen and (min-width:1280px) { + body.double-sidebar .site-main { + max-width: 600px; + padding-left: 29px; + padding-right: 29px + } + + body.double-sidebar .ctb-content-sidebar { + flex-wrap: nowrap + } + + body.double-sidebar .ctb-content-sidebar::after { + content: none + } + + body.double-sidebar .c-sidebar { + min-width: 260px + } + + body.double-sidebar .c-sidebar-left { + order: -1; + margin-left: 0; + margin-right: 25px + } + + body.double-sidebar .c-sidebar-right { + order: 1; + margin-left: 25px; + margin-right: 0 + } + + body.double-sidebar .c-sidebar .widget { + padding: 19px + } +} + +@media screen and (min-width:1360px) { + body.double-sidebar .site-main { + max-width: 660px + } +} + +@media screen and (min-width:1280px) { + body.double-sidebar.side-widget-ld-lg-left .c-sidebar-right { + order: -1; + margin-left: 0; + margin-right: 25px + } + + body.double-sidebar.side-widget-ld-lg-right .c-sidebar-left { + order: 0; + margin-left: 25px; + margin-right: 0 + } +} + + +.top-menus { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; + line-height: 1.6em +} + +.top-menus .menu { + list-style-type: none; + margin: 0; + padding: 0; + display: inline-flex; + flex-wrap: wrap; + justify-content: center; + align-items: center +} + +.top-menus li { + padding: .4rem .75rem; + border: 1px solid #ffffff40; + margin-bottom: 0; + margin-left: -1px +} + +@media screen and (min-width:768px) { + .top-menus { + justify-content: flex-start + } + + .top-menus>nav { + flex-grow: 1 + } +} + +.social-navigation a { + color: var(--text-color) +} + +.social-navigation a .svg-icon { + width: 1.55em; + height: 1.55em; + padding: .15em; + border: 1px solid transparent; + transition: .25s all +} + +.social-navigation a:active .svg-icon, +.social-navigation a:focus .svg-icon, +.social-navigation a:hover .svg-icon { + border-radius: 50%; + text-shadow: 0 1px 1px #00000026 +} + +@media screen and (min-width:768px) { + .social-navigation { + flex-basis: 38% + } + + .social-navigation .menu { + justify-content: flex-start + } +} + +.top-navigation { + font-size: .8em +} + +.top-navigation a { + text-decoration: none; + color: var(--text-color); + border-bottom: 2px solid transparent; + transition: .2s border-color +} + +.top-navigation a:active, +.top-navigation a:focus, +.top-navigation a:hover { + color: var(--text-color); + border-color: var(--text-color); + text-shadow: 0 1px 1px #00000026 +} + +.site-branding { + padding: 1em 0; + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.6)), url(/content/2024/04/Trans-Mural-Complete.webp); + background-repeat: no-repeat; + background-position: center; + background-size: cover; +} + +@media screen and (min-width:768px) { + .top-navigation { + flex-basis: 62%; + text-align: right + } + + .top-navigation .menu { + justify-content: flex-end + } +} + +.u-wrapper.site-branding-wrap { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center +} + +@media only screen and (max-width:768px) { + .menu-primary-container { + display: unset; + justify-content: unset; + } +} + +.site-logo-title { + max-width: 600px; + display: flex; + align-items: center +} + +.has-banner-next-sm { + margin-right: 1rem +} + +@media screen and (min-width:576px) { + .has-banner-next-md { + margin-right: 1rem + } +} + +@media screen and (min-width:768px) { + .site-branding-wrap { + flex-wrap: nowrap; + justify-content: space-between + } + + .menu-primary-container { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center + } + + .has-banner-next-lg { + margin-right: 1rem + } +} + +.site-branding .custom-logo-link img { + display: block; + max-width: 12em; + max-height: 3.55em; + width: auto; + height: auto +} + +.site-branding .custom-logo-link { + color: #404040 +} + +.site-logo-only .custom-logo-link { + margin-right: 0 +} + +.site-logo-title:not(.site-logo-only) .custom-logo-link { + margin-right: .75rem +} + +.site-tagline, +.site-title { + margin: 0 +} + +.site-title { + font-size: 1.2em; + line-height: 1.5; + font-weight: 700; + word-break: break-word +} + +.site-title a { + text-decoration: none +} + +.site-title, +.site-title a, +.site-title a:active, +.site-title a:focus, +.site-title a:hover { + color: #404040 +} + +.site-tagline { + font-size: .8em; + color: #979797 +} + +.logo--sm-size-1 .custom-logo-link img { + max-width: 12em; + max-height: 3.55em +} + +.logo--sm-size-2 .custom-logo-link img { + max-width: 13.5em; + max-height: 3.85em +} + +.logo--sm-size-3 .custom-logo-link img { + max-width: 15em; + max-height: 4.15em +} + +.logo--sm-size-4 .custom-logo-link img { + max-width: 16.5em; + max-height: 4.45em +} + +.logo--sm-size-5 .custom-logo-link img { + max-width: 18em; + max-height: 4.75em +} + +.site-title--sm-size-1 { + font-size: 1.1em +} + +.site-title--sm-size-2 { + font-size: 1.2em +} + +.site-title--sm-size-3 { + font-size: 1.3em +} + +.site-title--sm-size-4 { + font-size: 1.4em +} + +.site-title--sm-size-5 { + font-size: 1.5em +} + +.tagline--sm-size-1 { + font-size: .75em +} + +.tagline--sm-size-2 { + font-size: .8em +} + +.tagline--sm-size-3 { + font-size: .85em +} + +.tagline--sm-size-4 { + font-size: .9em +} + +.tagline--sm-size-5 { + font-size: .95em +} + +@media screen and (min-width:576px) { + .logo--md-size-1 .custom-logo-link img { + max-width: 12em; + max-height: 3.55em + } + + .logo--md-size-2 .custom-logo-link img { + max-width: 13.5em; + max-height: 3.85em + } + + .logo--md-size-3 .custom-logo-link img { + max-width: 15em; + max-height: 4.15em + } + + .logo--md-size-4 .custom-logo-link img { + max-width: 16.5em; + max-height: 4.45em + } + + .logo--md-size-5 .custom-logo-link img { + max-width: 18em; + max-height: 4.75em + } + + .site-title--md-size-1 { + font-size: 1.1em + } + + .site-title--md-size-2 { + font-size: 1.2em + } + + .site-title--md-size-3 { + font-size: 1.3em + } + + .site-title--md-size-4 { + font-size: 1.4em + } + + .site-title--md-size-5 { + font-size: 1.5em + } + + .tagline--md-size-1 { + font-size: .75em + } + + .tagline--md-size-2 { + font-size: .8em + } + + .tagline--md-size-3 { + font-size: .85em + } + + .tagline--md-size-4 { + font-size: .9em + } + + .tagline--md-size-5 { + font-size: .95em + } +} + +@media screen and (min-width:1200px) { + .logo--lg-size-1 .custom-logo-link img { + max-width: 12em; + max-height: 3.55em + } + + .logo--lg-size-2 .custom-logo-link img { + max-width: 13.5em; + max-height: 3.85em + } + + .logo--lg-size-3 .custom-logo-link img { + max-width: 15em; + max-height: 4.15em + } + + .logo--lg-size-4 .custom-logo-link img { + max-width: 16.5em; + max-height: 4.45em + } + + .logo--lg-size-5 .custom-logo-link img { + max-width: 18em; + max-height: 4.75em + } + + .site-title--lg-size-1 { + font-size: 1.1em + } + + .site-title--lg-size-2 { + font-size: 1.2em + } + + .site-title--lg-size-3 { + font-size: 1.3em + } + + .site-title--lg-size-4 { + font-size: 1.4em + } + + .site-title--lg-size-5 { + font-size: 1.5em + } + + .tagline--lg-size-1 { + font-size: .75em + } + + .tagline--lg-size-2 { + font-size: .8em + } + + .tagline--lg-size-3 { + font-size: .85em + } + + .tagline--lg-size-4 { + font-size: .9em + } + + .tagline--lg-size-5 { + font-size: .95em + } +} + +.top-banner { + margin-top: 1rem +} + +.top-banner-shadow { + box-shadow: 0 1px 35px 0 #00000026 +} + +.top-banner-link:focus { + outline: 2px solid +} + +.top-banner-link:focus:not(:focus-visible) { + outline: 0 +} + +.top-banner-image { + max-height: 150px; + width: auto +} + +@media screen and (min-width:576px) { + + .top-banner-hide-sm, + .top-banner-hide-sm .top-banner-image { + display: block + } + + .top-banner-hide-md, + .top-banner-hide-md .top-banner-image { + display: none + } +} + +@media screen and (min-width:768px) { + .top-banner { + margin-top: 0; + max-width: 60% + } + + .top-banner-hide-md, + .top-banner-hide-md .top-banner-image { + display: block + } +} + +@media screen and (min-width:1200px) { + .top-banner { + max-width: 70% + } +} + +.primary-navbar { + padding: 0 0 .5em 0; + font-size: .95em; + font-weight: 600; + background-color: var(--background-darker); +} + +.main-navigation ul { + display: none; + list-style-type: none; + margin: 0; + padding: 0; +} + +.main-navigation { + display: flex; + flex-direction: column +} + +.primary-menu-toggle { + display: inline-block; + padding: .35em .4em; + margin-top: .4em; + align-self: unset; + border-radius: 2px; + border-color: transparent; + background-color: var(--background-darkest) !important; +} + +.primary-menu-toggle .svg-icon { + width: 1.55em; + height: 1.55em +} + +.main-navigation li { + position: relative; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + padding: .4em +} + +.main-navigation li>a { + flex-basis: auto; + width: 100% +} + +.main-navigation li.menu-item-has-children>a { + width: calc(100% - 35px) +} + +.main-navigation-arrow-btn { + flex-shrink: 0; + padding: 4px 6px 4px 0px; + border: none; + background: 0 0; + color: var(--text-color); + cursor: pointer; + transition: .25s all +} + +.main-navigation-arrow-btn:focus { + color: var(--text-color) +} + + +.main-navigation a:active, +.main-navigation a:hover, +.main-navigation .main-navigation-arrow-btn:active, +.main-navigation .main-navigation-arrow-btn:hover, +.main-navigation li.focus>.main-navigation-arrow-btn, +.main-navigation:not(.toggled) li:hover>.main-navigation-arrow-btn { + background: transparent; + border-color: transparent; + color: var(--blue); +} + +.main-navigation a:focus, +.main-navigation li.focus>.main-navigation-arrow-btn>a { + background: transparent; + color: var(--pink); +} + +.main-navigation-arrow-btn:hover>a, +a.active { + color: var(--blue); +} + +.main-navigation ul ul { + background: var(--background-darker) !important; + position: absolute; + left: 30px; + width: calc(100% - 15px); + flex-grow: 0; + flex-shrink: 0; + display: block; + padding: 0; + opacity: 0; + height: 0; + overflow: hidden; + transition: .3s all; + z-index: -1 +} + +.main-navigation ul li.focus>ul, +.main-navigation:not(.toggled):not(.main-navigation--touch) ul li:hover>ul { + position: relative; + top: 5px; + left: 15px; + opacity: 1; + height: auto; + overflow: visible; + z-index: 0 +} + +.main-navigation:not(.toggled) ul li.focus>ul, +.main-navigation:not(.toggled):not(.main-navigation--touch) ul li:hover>ul { + z-index: 99995 +} + +.main-navigation ul li, +.main-navigation ul ul li { + border-top: 1px solid #ffffff40 +} + +.main-navigation a { + text-decoration: none; + padding: .3em .5em; + transition: .25s all; + font-weight: 600; +} + + +@media screen and (min-width:768px) { + .primary-navbar { + padding: .25em 0 + } + + .main-navigation ul { + display: flex; + flex-wrap: wrap; + justify-content: center + } + + .primary-menu-toggle { + display: none + } + + .main-navigation { + display: block + } + + .main-navigation>div { + max-width: 100% + } + + .main-navigation ul li { + border: 0 + } + + .main-navigation .menu>li:first-child { + padding: .2em .2em .2em 0 + } + + .main-navigation .menu>li:not(:first-child), + .main-navigation ul ul li { + padding: .2em + } + + .main-navigation .menu>li.menu-item-has-children>a { + width: auto + } + + .main-navigation ul ul li.menu-item-has-children>a { + width: calc(100% - 32px) + } + + .main-navigation ul ul { + width: auto; + left: 15%; + transition: .2s all + } + + .main-navigation ul li.focus>ul, + .main-navigation:not(.toggled):not(.main-navigation--touch) ul li:hover>ul { + position: absolute; + top: 109%; + left: 0 + } + + .main-navigation ul ul li.focus>ul, + .main-navigation:not(.toggled):not(.main-navigation--touch) ul ul li:hover>ul { + top: 0; + left: 100% + } + + .main-navigation ul ul li { + width: 240px + } +} + +.ctb-archive { + margin-bottom: 1.5em; + padding-bottom: 1.5em; + border-bottom: 1px solid #e1e1e1 +} + +.ctb-archive.has-post-thumbnail .ctb-content>.post-thumbnail { + margin-bottom: 1em +} + +.ctb-singular>.post-thumbnail { + margin-bottom: 1.5em +} + +@media screen and (min-width:768px) { + body.ctb-content-columns .ctb-archive.has-post-thumbnail .ctb-content { + display: flex; + align-items: center + } + + body.ctb-content-columns .ctb-archive.has-post-thumbnail .ctb-content>.post-thumbnail { + width: 36%; + margin-right: 1.5em; + margin-bottom: 0 + } + + body.ctb-content-columns .ctb-archive.has-post-thumbnail .ctb-content>:nth-child(2) { + width: 64% + } + + body.ctb-content-cover .ctb-archive.has-post-thumbnail .ctb-content { + align-items: stretch + } + + body.ctb-content-cover .ctb-archive .ctb-content>.post-thumbnail img { + height: 100%; + -o-object-fit: cover; + object-fit: cover + } +} + +.ctb-article a.post-thumbnail:focus:not(:focus-visible) { + outline: 0 +} + +.page-header>.page-title, +.post-header>.post-title, +.ctb-article .entry-header>.entry-title { + margin-top: 0; + margin-bottom: .45em; + font-size: 1.46em; + word-break: break-word +} + +.page-header>.page-title, +.post-header>.post-title, +.ctb-singular:not(.type-post) .entry-header>.entry-title { + margin-bottom: .875em +} + +.ctb-archv-title { + margin-top: 0; + font-size: 1.62em +} + +.entry-title a { + text-decoration: none +} + +.entry-title, +.entry-title a { + color: var(--text-color) +} + +.entry-title a:active, +.entry-title a:focus, +.entry-title a:hover { + color: var(--href); +} + +.entry-title-center, +.post #content #primary { + text-align: center; +} + +.entry-title-right { + text-align: right; +} + +.entry-title-left { + text-align: left; +} + +.cat-links, +.entry-meta, +.tag-links { + font-size: .85em +} + +.entry-meta { + margin-bottom: 1.1em +} + +.hide-entry-meta { + margin-bottom: 1.5em +} + +.cat-links, +.tag-links { + display: block; + margin-top: 1.5em +} + +.entry-meta>* { + display: inline-block; + margin: 0 .4em .4em 0 +} + +.cat-links a, +.entry-meta a, +.tag-links a { + display: inline-block; + vertical-align: middle; + text-decoration: none +} + +.cat-links .svg-icon, +.cat-links a, +.entry-meta .svg-icon, +.entry-meta a, +.tag-links .svg-icon, +.tag-links a { + color: #979797 +} + +.cat-links a:active, +.cat-links a:focus, +.cat-links a:hover, +.entry-meta a:active, +.entry-meta a:focus, +.entry-meta a:hover, +.tag-links a:active, +.tag-links a:focus, +.tag-links a:hover { + color: #404040; + text-decoration: underline +} + +.cat-links .svg-icon, +.entry-meta .svg-icon, +.tag-links .svg-icon { + width: 1.5em; + height: 1.5em; + padding: .1em +} + +.entry-meta .posted-by .svg-icon { + margin-right: -.1em +} + +.cat-links .svg-icon, +.tag-links .svg-icon { + margin-right: .3em +} + +.entry-content>:last-child, +.entry-summary>:last-child, +.more-link-wrap, +.page-content>:last-child, +.post-content>:last-child, +.ctb-no-content>.entry-header>:last-child { + margin-bottom: 0 +} + +.more-link-wrap { + margin-top: 1.5em +} + +.more-link { + display: inline-block; + padding-top: .58em; + padding-bottom: .62em; + text-decoration: none; + font-size: .875rem +} + +.more-link:hover { + text-decoration: none +} + +.more-link:active, +.more-link:focus { + outline-color: #404040 +} + +.navigation .nav-links, +.page-links { + display: flex; + flex-wrap: wrap +} + +.navigation .nav-links, +.page-links { + margin-top: 1.5em +} + +.navigation .nav-links .nav-previous>a::before, +.navigation .nav-links .prev::before { + content: '\00ab'; + margin-right: .3em +} + +.navigation .nav-links .nav-next>a::after, +.navigation .nav-links .next::after { + content: '\00bb'; + margin-left: .3em +} + +.navigation .nav-links .page-numbers, +.page-links .post-page-numbers { + margin-left: .6em; + margin-right: .6em +} + +.navigation .nav-links .nav-previous, +.navigation .nav-links .prev { + margin-right: auto; + text-align: left +} + +.navigation .nav-links .nav-previous, +.navigation .nav-links .prev, +.navigation .nav-links>:first-child { + margin-left: 0 +} + +.navigation .nav-links .nav-next, +.navigation .nav-links .next { + margin-left: auto; + text-align: right +} + +.navigation .nav-links .nav-next, +.navigation .nav-links .next, +.navigation .nav-links>:last-child { + margin-right: 0 +} + +@media screen and (min-width:768px) { + + .navigation .nav-links .nav-next, + .navigation .nav-links .nav-previous { + flex-basis: 49% + } +} + +.navigation .nav-links a, +.page-links a { + text-decoration: none +} + +.page-links a:active, +.page-links a:focus, +.page-links a:hover, +.pagination .nav-links a:not(.prev):not(.next):active, +.pagination .nav-links a:not(.prev):not(.next):focus, +.pagination .nav-links a:not(.prev):not(.next):hover { + text-decoration: underline +} + +.nav-links .nav-title { + word-break: break-word +} + +.nav-links .nav-next>a, +.nav-links .nav-previous>a { + display: inline-flex +} + +.ctb-article.sticky .ctb-sticky { + color: #979797 +} + +.ctb-article.sticky .ctb-sticky .svg-icon { + width: 1.4em; + height: 1.4em; + margin-right: .15em +} + +.ctb-sticky-label { + display: inline-block; + vertical-align: middle +} + +.custom-logo-link { + display: inline-block +} + +.svg-icon, +.svg-icon-prev, +.svg-icon-next { + display: inline-block; + vertical-align: middle; + line-height: 1em +} + +.svg-icon-prev:hover, +.svg-icon-next:hover { + stroke: var(--href); +} + +.caption { + margin-bottom: 1.5em; + max-width: 100% +} + +.caption img[class*=image-] { + display: block; + margin-left: auto; + margin-right: auto +} + +.caption .caption-text { + margin: .8075em 0 +} + +.caption-text { + text-align: center +} + +.gallery { + margin-bottom: 1.5em +} + +.gallery-item { + display: inline-block; + text-align: center; + vertical-align: top; + width: 100% +} + +.gallery-item img { + vertical-align: bottom +} + +.gallery-columns-2 .gallery-item { + max-width: 50% +} + +.gallery-columns-3 .gallery-item { + max-width: 33.33% +} + +.gallery-columns-4 .gallery-item { + max-width: 25% +} + +.gallery-columns-5 .gallery-item { + max-width: 20% +} + +.gallery-columns-6 .gallery-item { + max-width: 16.66% +} + +.gallery-columns-7 .gallery-item { + max-width: 14.28% +} + +.gallery-columns-8 .gallery-item { + max-width: 12.5% +} + +.gallery-columns-9 .gallery-item { + max-width: 11.11% +} + +.post-password-form input[type=submit] { + margin-top: .5rem +} + +.widget { + margin: 0 0 1.5em +} + +.widget h1, +.widget h2 { + font-size: 1.1em +} + +.widget h3 { + font-size: 1.08em +} + +.widget h4 { + font-size: 1.05em +} + +.widget h5 { + font-size: 1.02em +} + +.widget h6 { + font-size: 1em +} + +.c-sidebar { + width: 100%; + font-size: .95em; + color: #404040 +} + +.c-sidebar .widget .widget-title, +.c-sidebar .widget_block h1:first-child, +.c-sidebar .widget_block h2:first-child, +.c-sidebar .widget_block h3:first-child { + margin-bottom: 1.5em; + padding-bottom: .5em; + border-bottom: 2px solid #eee +} + +.c-sidebar .widget .widget-title::after, +.c-sidebar .widget_block h1:first-child::after, +.c-sidebar .widget_block h2:first-child::after, +.c-sidebar .widget_block h3:first-child::after { + content: ""; + position: absolute; + left: 0; + bottom: -2px; + height: 1px; + width: 10% +} + +.widget .widget-title, +.widget_block h1:first-child, +.widget_block h2:first-child, +.widget_block h3:first-child { + position: relative; + margin-top: 0; + font-size: 1.1em +} + +.widget ol, +.widget ul { + margin: 0; + padding: 0; + list-style-position: inside +} + +.widget ul { + list-style-type: none +} + +.widget li>ol, +.widget li>ul { + margin-left: 1.5em +} + +.widget li:not(:first-child) { + padding-top: .4em +} + +.widget li:not(:last-child) { + padding-bottom: .4em +} + +.c-sidebar .widget li:not(:last-child) { + border-bottom: 1px solid #e1e1e1 +} + +.widget li>ol>li:first-child, +.widget li>ul>li:first-child { + padding-top: .4em +} + +.widget li.social-link:not(:first-child) { + padding-top: 0 +} + +.widget li.social-link:not(:last-child) { + padding-bottom: 0 +} + +.c-sidebar .widget li.social-link { + border-width: 0 +} + +.c-sidebar a { + color: #404040 +} + +.c-sidebar a:active, +.c-sidebar a:focus, +.c-sidebar a:hover { + color: var(--href); + text-decoration: underline +} + +.widget .tagcloud .tag-cloud-link, +.widget li a, +.block-tag-cloud .tag-cloud-link { + text-decoration: none +} + +.widget .textwidget>:last-child { + margin-bottom: 0 +} + +.widget .textwidget a { + text-decoration: underline +} + +.widget .calendar-table { + margin-bottom: .5em; + text-align: center +} + +.widget .calendar-table caption { + padding-bottom: .5em +} + +.widget .calendar-table td, +.widget .calendar-table th { + padding: .2em .4em +} + +.widget .calendar-nav { + display: flex; + flex-wrap: wrap; + justify-content: space-between +} + +.widget .gallery { + margin-bottom: 0 +} + +.widget .gallery-item { + margin: 0; + padding: 5px 10px 5px 0 +} + +@media screen and (min-width:1024px) { + body:not(.double-sidebar) .inner-wrapper-sticky { + padding-bottom: 1px + } +} + +@media screen and (min-width:1280px) { + body.double-sidebar .inner-wrapper-sticky { + padding-bottom: 1px + } +} + +.footer-widgets { + padding: .5em 0; + font-size: .85em; + color: var(--text-color); + background: var(--background-darker); +} + +.footer-widgets-wrap { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: flex-start; + border-bottom: 1px solid #666 +} + +.c-sidebar-footer { + margin-top: 1.5em; + padding: 0 14px +} + +.footer-widgets-1 .c-sidebar-footer { + flex-basis: 100% +} + +@media screen and (min-width:350px) { + .c-sidebar-footer { + padding: 0 24px + } +} + +@media screen and (min-width:576px) { + .c-sidebar-footer { + padding: 0 + } + + .footer-widgets-2 .c-sidebar-footer, + .footer-widgets-3 .c-sidebar-footer, + .footer-widgets-4 .c-sidebar-footer { + flex-basis: calc(50% - 40px) + } +} + +@media screen and (min-width:1024px) { + + .footer-widgets-3 .c-sidebar-footer, + .footer-widgets-4 .c-sidebar-footer { + flex-basis: calc(33.33333333% - 45px) + } + + .footer-widgets-2 .c-sidebar-footer { + flex-basis: calc(50% - 45px) + } +} + +@media screen and (min-width:1200px) { + .footer-widgets-4 .c-sidebar-footer { + flex-basis: calc(25% - 47px) + } + + .footer-widgets-3 .c-sidebar-footer { + flex-basis: calc(33.33333333% - 47px) + } + + .footer-widgets-2 .c-sidebar-footer { + flex-basis: calc(50% - 47px) + } +} + +@media screen and (min-width:1280px) { + .footer-widgets-4 .c-sidebar-footer { + flex-basis: calc(25% - 50px) + } + + .footer-widgets-3 .c-sidebar-footer { + flex-basis: calc(33.33333333% - 50px) + } + + .footer-widgets-2 .c-sidebar-footer { + flex-basis: calc(50% - 50px) + } +} + +.footer-widgets .widget .widget-title, +.footer-widgets .widget_block h1:first-child, +.footer-widgets .widget_block h2:first-child, +.footer-widgets .widget_block h3:first-child { + margin-bottom: .8em; + padding-bottom: .4em +} + +.footer-widgets a { + color: #b7b7b7 +} + +.footer-widgets a:active, +.footer-widgets a:focus, +.footer-widgets a:hover { + color: var(--text-color); + text-decoration: underline +} + +.footer-widgets .widget .calendar-table table, +.footer-widgets .widget .calendar-table td, +.footer-widgets .widget .calendar-table th { + border-color: #666 +} + +.footer-widgets .block-calendar caption, +.footer-widgets .block-calendar tbody { + color: inherit +} + +.footer-widgets .block-calendar th { + background-color: transparent +} + +.cookthebooks-dark .block-audio figcaption, +.cookthebooks-dark .block-calendar table caption, +.cookthebooks-dark .block-calendar table tbody, +.cookthebooks-dark .block-embed figcaption, +.cookthebooks-dark .block-gallery figcaption, +.cookthebooks-dark .block-image figcaption, +.cookthebooks-dark .block-table figcaption, +.cookthebooks-dark .block-video figcaption { + color: #a7a7a7 +} + +.copyright-text { + padding: 1em 0; + text-align: center; + font-size: .8em; + background: var(--background-darker); +} + +.copyright-text-wrap>p { + color: #AA8ED6; + display: inline-block; + margin: 0 +} + +.copyright-text a { + color: var(--href); + text-decoration: none +} + +.copyright-text a:active, +.copyright-text a:focus, +.copyright-text a:hover { + color: var(--text-color); + text-decoration: underline +} + +.go-to-top { + position: fixed; + bottom: 30px; + right: 30px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 32px; + height: 32px; + line-height: 32px; + border-radius: 50%; + opacity: 0; + visibility: hidden; + z-index: 9999; + background: #00000059; + box-shadow: 0 0 10px #0000000d; + transition: opacity .5s, visibility .5s +} + + +.go-to-top:focus { + outline: 0; + box-shadow: 0 0 3px var(--href) +} + +.go-to-top:active { + background: var(--href) +} + +.go-to-top::after { + content: ""; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 11px solid var(--text-color); + position: relative; + bottom: 1px +} + +.go-to-top--show { + opacity: .8; + visibility: visible +} + +.go-to-top--fade-out { + opacity: .6 +} + +@media screen and (min-width:1024px) { + .go-to-top { + width: 34px; + height: 34px; + line-height: 34px + } + + .go-to-top::after { + border-left-width: 7px; + border-right-width: 7px; + border-bottom-width: 12px + } +} + +body.infinite-scroll #infinite-handle { + margin-top: 1.5em +} + +#post .t-margin, +#page .t-margin { + margin-top: 1.5em; +} + +#post .b-margin, +#page .b-margin { + margin-bottom: 1.5em; +} + +#post .no-t-margin, +#page .no-t-margin { + margin-top: 0; +} + +#post .no-b-margin, +#page .no-b-margin { + margin-bottom: 0; +} + +#post .no-t-padding, +#page .no-t-padding { + padding-top: 0; +} + +#post .no-b-padding, +#page .no-b-padding { + padding-bottom: 0; +} + +#post .no-x-padding, +#page .no-x-padding { + padding-left: 0; + padding-right: 0; +} + +#post .u-transparent-bg, +#page .u-transparent-bg { + background: 0 0; + border: 0; +} + +.u-justify { + display: flex; + gap: .5em; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; + align-items: center +} + +.u-justify-left { + justify-content: flex-start +} + +.u-justify-right { + justify-content: flex-end +} + +.hide-clip, +.hide-entry-meta>*, +.hide-posted-by>.posted-by, +.hide-posted-on>.posted-on { + position: absolute; + clip: rect(1px, 1px, 1px, 1px) +} + +.screen-reader-text { + 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 !important; + width: 1px; + word-wrap: normal !important +} + +.screen-reader-text:focus { + background: #f1f1f1; + border-radius: 3px; + box-shadow: 0 0 2px 2px #00000099; + clip: auto !important; + -webkit-clip-path: none; + clip-path: none; + color: #21759b; + display: block; + font-size: .875rem; + font-weight: 600; + height: auto; + left: 5px; + line-height: normal; + padding: 15px 23px 14px; + text-decoration: none; + top: 5px; + width: auto; + z-index: 100000 +} + +#primary[tabindex="-1"]:focus { + outline: 0 +} + +.alignleft { + float: left; + margin-right: 1.5em; + margin-bottom: 1.5em +} + +.alignright { + float: right; + margin-left: 1.5em; + margin-bottom: 1.5em +} + +.aligncenter { + clear: both; + display: block; + margin-left: auto; + margin-right: auto; + margin-bottom: 1.5em +} + +#page .block-section .entry-content .alignfull, +.entry-content .alignfull, +body.page.page-template-default .entry-content .alignfull, +body.page.page-template-full .entry-content .alignfull, +body.page.page-template-large .entry-content .alignfull, +body.page.page-template-medium .entry-content .alignfull, +body.page.page-template-small .entry-content .alignfull, +body.post.post-template-default .entry-content .alignfull, +body.post.post-template-full .entry-content .alignfull, +body.post.post-template-large .entry-content .alignfull, +body.post.post-template-medium .entry-content .alignfull, +body.post.post-template-small .entry-content .alignfull { + margin-left: calc(50% - 50vw); + max-width: 100vw; + width: 100vw +} + +.entry-content .alignwide { + margin-left: -15px; + width: calc(100% + 30px); + max-width: calc(100% + 30px) +} + +@media screen and (min-width:576px) { + .entry-content .alignwide { + margin-left: -35px; + width: calc(100% + 70px); + max-width: calc(100% + 70px) + } +} + +@media screen and (min-width:1024px) { + + #page .block-section .entry-content .alignwide, + #post .block-section .entry-content .alignwide, + body.no-sidebar .entry-content .alignwide, + body.page.page-template-default .entry-content .alignwide, + body.page.page-template-full .entry-content .alignwide, + body.page.page-template-large .entry-content .alignwide, + body.page.page-template-medium .entry-content .alignwide, + body.page.page-template-small .entry-content .alignwide, + body.post.post-template-default .entry-content .alignwide, + body.post.post-template-full .entry-content .alignwide, + body.post.post-template-large .entry-content .alignwide, + body.post.post-template-medium .entry-content .alignwide, + body.post.post-template-small .entry-content .alignwide { + margin-left: -50px; + width: calc(100% + 100px); + max-width: calc(100% + 100px) + } + + body.single-sidebar .entry-content .alignfull, + body.single-sidebar .entry-content .alignwide { + margin-left: -25px; + width: calc(100% + 50px); + max-width: calc(100% + 50px) + } + + body.double-sidebar .entry-content .alignwide { + margin-left: -50px; + width: calc(100% + 100px); + max-width: calc(100% + 100px) + } +} + +@media screen and (min-width:1200px) { + + body.single-sidebar .entry-content .alignfull, + body.single-sidebar .entry-content .alignwide { + margin-left: -40px; + width: calc(100% + 80px); + max-width: calc(100% + 80px) + } +} + +@media screen and (min-width:1280px) { + + body.double-sidebar .entry-content .alignfull, + body.double-sidebar .entry-content .alignwide { + margin-left: -30px; + width: calc(100% + 60px); + max-width: calc(100% + 60px) + } +} + +.c-sidebar .widget:after, +.c-sidebar-footer .widget:after, +.clear:after, +.clear:before, +.entry-content:after, +.entry-content:before, +.entry-footer:after, +.entry-footer:before, +.has-drop-cap:after, +.navigation.post-navigation .nav-links:after, +.site-content:after, +.site-content:before, +.site-footer:after, +.site-footer:before { + content: ""; + display: table; + table-layout: fixed +} + +.c-sidebar .widget:after, +.c-sidebar-footer .widget:after, +.clear:after, +.entry-content:after, +.entry-footer:after, +.has-drop-cap:after, +.navigation.post-navigation .nav-links:after, +.page-links, +.site-content:after, +.site-footer:after { + clear: both +} + +img.emoji { + display: inline !important; + border: none !important; + box-shadow: none !important; + height: 1em !important; + width: 1em !important; + margin: 0 0.07em !important; + vertical-align: -0.1em !important; + background: none !important; + padding: 0 !important; +} + +.posts-list-item-title { + font-size: 20px; +} + +.posts-list-item a { + text-decoration: none; +} + +.posts-list { + padding: 0; +} + +.posts-list-item { + list-style: none; + padding: 0.4em 0; + + &:not(:last-child) { + border-bottom: 1px dashed #ffffff4d; + } +} + +.posts-list-item-description { + display: flex; + align-items: center; + font-size: 0.8em; + + >.svg-icon { + margin-right: 0.4em; + } +} + +.posts-list-item-separator { + margin: 0 0.4em; +} + +.pagination { + display: flex; + list-style: none; + padding: 0; + font-size: 0.8em; + text-align: center; + justify-content: center; + grid-gap: 0.6em; + margin: 3em 0; + flex-wrap: wrap; +} + +.page-item { + display: inline-block; + + .page-link { + display: flex; + align-items: center; + justify-content: center; + width: 29px; + height: 29px; + text-decoration: none; + } + + &.active { + .page-link { + color: var(--text-color); + border-radius: 5px; + background-color: var(--href); + } + } +} \ No newline at end of file diff --git a/assets/scss/_wordpress.scss b/assets/scss/_wordpress.scss new file mode 100644 index 0000000..6b89cba --- /dev/null +++ b/assets/scss/_wordpress.scss @@ -0,0 +1,4640 @@ +.block-archives { + box-sizing: border-box +} + +.block-archives-dropdown label { + display: block +} + +.block-avatar { + line-height: 0 +} + +.block-avatar, +.block-avatar img { + box-sizing: border-box +} + +.block-avatar.aligncenter { + text-align: center +} + +.block-audio { + box-sizing: border-box +} + +.block-audio figcaption { + margin-bottom: 1em; + margin-top: .5em +} + +.block-audio audio { + min-width: 300px; + width: 100% +} + +.block-button__link { + box-sizing: border-box; + cursor: pointer; + display: inline-block; + text-align: center; + word-break: break-word +} + +.block-button__link.aligncenter { + text-align: center +} + +.block-button__link.alignright { + text-align: right +} + +:where(.block-button__link) { + border-radius: 9999px; + box-shadow: none; + padding: calc(.667em + 2px) calc(1.333em + 2px); + text-decoration: none +} + +.block-button[style*=text-decoration] .block-button__link { + text-decoration: inherit +} + +.block-buttons>.block-button.has-custom-width { + max-width: none +} + +.block-buttons>.block-button.has-custom-width .block-button__link { + width: 100% +} + +.block-buttons>.block-button.has-custom-font-size .block-button__link { + font-size: inherit +} + +.block-buttons>.block-button.block-button__width-25 { + width: calc(25% - var(---style--block-gap, .5em)*.75) +} + +.block-buttons>.block-button.block-button__width-50 { + width: calc(50% - var(---style--block-gap, .5em)*.5) +} + +.block-buttons>.block-button.block-button__width-75 { + width: calc(75% - var(---style--block-gap, .5em)*.25) +} + +.block-buttons>.block-button.block-button__width-100 { + flex-basis: 100%; + width: 100% +} + +.block-buttons.is-vertical>.block-button.block-button__width-25 { + width: 25% +} + +.block-buttons.is-vertical>.block-button.block-button__width-50 { + width: 50% +} + +.block-buttons.is-vertical>.block-button.block-button__width-75 { + width: 75% +} + +.block-button.is-style-squared, +.block-button__link.block-button.is-style-squared { + border-radius: 0 +} + +.block-button.no-border-radius, +.block-button__link.no-border-radius { + border-radius: 0 !important +} + +.block-button .block-button__link.is-style-outline, +.block-button.is-style-outline>.block-button__link { + border: 2px solid; + padding: .667em 1.333em +} + +.block-button .block-button__link.is-style-outline:not(.has-text-color), +.block-button.is-style-outline>.block-button__link:not(.has-text-color) { + color: currentColor +} + +.block-button .block-button__link.is-style-outline:not(.has-background), +.block-button.is-style-outline>.block-button__link:not(.has-background) { + background-color: transparent; + background-image: none +} + +.block-button .block-button__link:where(.has-border-color) { + border-width: initial +} + +.block-button .block-button__link:where([style*=border-top-color]) { + border-top-width: medium +} + +.block-button .block-button__link:where([style*=border-right-color]) { + border-right-width: medium +} + +.block-button .block-button__link:where([style*=border-bottom-color]) { + border-bottom-width: medium +} + +.block-button .block-button__link:where([style*=border-left-color]) { + border-left-width: medium +} + +.block-button .block-button__link:where([style*=border-style]) { + border-width: initial +} + +.block-button .block-button__link:where([style*=border-top-style]) { + border-top-width: medium +} + +.block-button .block-button__link:where([style*=border-right-style]) { + border-right-width: medium +} + +.block-button .block-button__link:where([style*=border-bottom-style]) { + border-bottom-width: medium +} + +.block-button .block-button__link:where([style*=border-left-style]) { + border-left-width: medium +} + +.block-buttons.is-vertical { + flex-direction: column +} + +.block-buttons.is-vertical>.block-button:last-child { + margin-bottom: 0 +} + +.block-buttons>.block-button { + display: inline-block; + margin: 0 +} + +.block-buttons.is-content-justification-left { + justify-content: flex-start +} + +.block-buttons.is-content-justification-left.is-vertical { + align-items: flex-start +} + +.block-buttons.is-content-justification-center { + justify-content: center +} + +.block-buttons.is-content-justification-center.is-vertical { + align-items: center +} + +.block-buttons.is-content-justification-right { + justify-content: flex-end +} + +.block-buttons.is-content-justification-right.is-vertical { + align-items: flex-end +} + +.block-buttons.is-content-justification-space-between { + justify-content: space-between +} + +.block-buttons.aligncenter { + text-align: center +} + +.block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, .is-content-justification-center) .block-button.aligncenter { + margin-left: auto; + margin-right: auto; + width: 100% +} + +.block-buttons[style*=text-decoration] .block-button, +.block-buttons[style*=text-decoration] .block-button__link { + text-decoration: inherit +} + +.block-buttons.has-custom-font-size .block-button__link { + font-size: inherit +} + +.block-button.aligncenter, +.block-calendar { + text-align: center +} + +.block-calendar td, +.block-calendar th { + border: 1px solid; + padding: .25em +} + +.block-calendar th { + font-weight: 400 +} + +.block-calendar caption { + background-color: inherit +} + +.block-calendar table { + border-collapse: collapse; + width: 100% +} + +.block-calendar table:where(:not(.has-text-color)) { + color: #40464d +} + +.block-calendar table:where(:not(.has-text-color)) td, +.block-calendar table:where(:not(.has-text-color)) th { + border-color: #ddd +} + +.block-calendar table.has-background th { + background-color: inherit +} + +.block-calendar table.has-text-color th { + color: inherit +} + +:where(.block-calendar table:not(.has-background) th) { + background: #ddd +} + +.block-categories { + box-sizing: border-box +} + +.block-categories.alignleft { + margin-right: 2em +} + +.block-categories.alignright { + margin-left: 2em +} + +.block-categories.block-categories-dropdown.aligncenter { + text-align: center +} + +.block-code { + box-sizing: border-box +} + +.block-code code { + display: block; + font-family: inherit; + overflow-wrap: break-word; + white-space: pre-wrap +} + +.block-columns { + align-items: normal !important; + box-sizing: border-box; + display: flex; + flex-wrap: wrap !important +} + +@media (min-width:782px) { + .block-columns { + flex-wrap: nowrap !important + } +} + +.block-columns.are-vertically-aligned-top { + align-items: flex-start +} + +.block-columns.are-vertically-aligned-center { + align-items: center +} + +.block-columns.are-vertically-aligned-bottom { + align-items: flex-end +} + +@media (max-width:781px) { + .block-columns:not(.is-not-stacked-on-mobile)>.block-column { + flex-basis: 100% !important + } +} + +@media (min-width:782px) { + .block-columns:not(.is-not-stacked-on-mobile)>.block-column { + flex-basis: 0; + flex-grow: 1 + } + + .block-columns:not(.is-not-stacked-on-mobile)>.block-column[style*=flex-basis] { + flex-grow: 0 + } +} + +.block-columns.is-not-stacked-on-mobile { + flex-wrap: nowrap !important +} + +.block-columns.is-not-stacked-on-mobile>.block-column { + flex-basis: 0; + flex-grow: 1 +} + +.block-columns.is-not-stacked-on-mobile>.block-column[style*=flex-basis] { + flex-grow: 0 +} + +:where(.block-columns) { + margin-bottom: 1.75em +} + +:where(.block-columns.has-background) { + padding: 1.25em 2.375em +} + +.block-column { + flex-grow: 1; + min-width: 0; + overflow-wrap: break-word; + word-break: break-word +} + +.block-column.is-vertically-aligned-top { + align-self: flex-start +} + +.block-column.is-vertically-aligned-center { + align-self: center +} + +.block-column.is-vertically-aligned-bottom { + align-self: flex-end +} + +.block-column.is-vertically-aligned-stretch { + align-self: stretch +} + +.block-column.is-vertically-aligned-bottom, +.block-column.is-vertically-aligned-center, +.block-column.is-vertically-aligned-top { + width: 100% +} + +.block-post-comments { + box-sizing: border-box +} + +.block-post-comments .alignleft { + float: left +} + +.block-post-comments .alignright { + float: right +} + +.block-post-comments .navigation:after { + clear: both; + content: ""; + display: table +} + +.block-post-comments .commentlist { + clear: both; + list-style: none; + margin: 0; + padding: 0 +} + +.block-post-comments .commentlist .comment { + min-height: 2.25em; + padding-left: 3.25em +} + +.block-post-comments .commentlist .comment p { + font-size: 1em; + line-height: 1.8; + margin: 1em 0 +} + +.block-post-comments .commentlist .children { + list-style: none; + margin: 0; + padding: 0 +} + +.block-post-comments .comment-author { + line-height: 1.5 +} + +.block-post-comments .comment-author .avatar { + border-radius: 1.5em; + display: block; + float: left; + height: 2.5em; + margin-right: .75em; + margin-top: .5em; + width: 2.5em +} + +.block-post-comments .comment-author cite { + font-style: normal +} + +.block-post-comments .comment-meta { + font-size: .875em; + line-height: 1.5 +} + +.block-post-comments .comment-meta b { + font-weight: 400 +} + +.block-post-comments .comment-meta .comment-awaiting-moderation { + display: block; + margin-bottom: 1em; + margin-top: 1em +} + +.block-post-comments .comment-body .commentmetadata { + font-size: .875em +} + +.block-post-comments .comment-form-author label, +.block-post-comments .comment-form-comment label, +.block-post-comments .comment-form-email label, +.block-post-comments .comment-form-url label { + display: block; + margin-bottom: .25em +} + +.block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]), +.block-post-comments .comment-form textarea { + box-sizing: border-box; + display: block; + width: 100% +} + +.block-post-comments .comment-form-cookies-consent { + display: flex; + gap: .25em +} + +.block-post-comments .comment-form-cookies-consent #comment-cookies-consent { + margin-top: .35em +} + +.block-post-comments .comment-reply-title { + margin-bottom: 0 +} + +.block-post-comments .comment-reply-title :where(small) { + font-size: var(---preset--font-size--medium, smaller); + margin-left: .5em +} + +.block-post-comments .reply { + font-size: .875em; + margin-bottom: 1.4em +} + +.block-post-comments input:not([type=submit]), +.block-post-comments textarea { + border: 1px solid #949494; + font-family: inherit; + font-size: 1em +} + +.block-post-comments input:not([type=submit]):not([type=checkbox]), +.block-post-comments textarea { + padding: calc(.667em + 2px) +} + +:where(.block-post-comments input[type=submit]) { + border: none +} + +.block-comments-pagination>.block-comments-pagination-next, +.block-comments-pagination>.block-comments-pagination-numbers, +.block-comments-pagination>.block-comments-pagination-previous { + margin-bottom: .5em; + margin-right: .5em +} + +.block-comments-pagination>.block-comments-pagination-next:last-child, +.block-comments-pagination>.block-comments-pagination-numbers:last-child, +.block-comments-pagination>.block-comments-pagination-previous:last-child { + margin-right: 0 +} + +.block-comments-pagination .block-comments-pagination-previous-arrow { + display: inline-block; + margin-right: 1ch +} + +.block-comments-pagination .block-comments-pagination-previous-arrow:not(.is-arrow-chevron) { + transform: scaleX(1) +} + +.block-comments-pagination .block-comments-pagination-next-arrow { + display: inline-block; + margin-left: 1ch +} + +.block-comments-pagination .block-comments-pagination-next-arrow:not(.is-arrow-chevron) { + transform: scaleX(1) +} + +.block-comments-pagination.aligncenter { + justify-content: center +} + +.block-comment-template { + box-sizing: border-box; + list-style: none; + margin-bottom: 0; + max-width: 100%; + padding: 0 +} + +.block-comment-template li { + clear: both +} + +.block-comment-template ol { + list-style: none; + margin-bottom: 0; + max-width: 100%; + padding-left: 2rem +} + +.block-comment-template.alignleft { + float: left +} + +.block-comment-template.aligncenter { + margin-left: auto; + margin-right: auto; + width: -moz-fit-content; + width: fit-content +} + +.block-comment-template.alignright { + float: right +} + +.block-cover, +.block-cover-image { + align-items: center; + background-position: 50%; + box-sizing: border-box; + display: flex; + justify-content: center; + min-height: 430px; + overflow: hidden; + overflow: clip; + padding: 1em; + position: relative +} + +.block-cover .has-background-dim:not([class*=-background-color]), +.block-cover-image .has-background-dim:not([class*=-background-color]), +.block-cover-image.has-background-dim:not([class*=-background-color]), +.block-cover.has-background-dim:not([class*=-background-color]) { + background-color: #000 +} + +.block-cover .has-background-dim.has-background-gradient, +.block-cover-image .has-background-dim.has-background-gradient { + background-color: transparent +} + +.block-cover-image.has-background-dim:before, +.block-cover.has-background-dim:before { + background-color: inherit; + content: "" +} + +.block-cover .block-cover__background, +.block-cover .block-cover__gradient-background, +.block-cover-image .block-cover__background, +.block-cover-image .block-cover__gradient-background, +.block-cover-image.has-background-dim:not(.has-background-gradient):before, +.block-cover.has-background-dim:not(.has-background-gradient):before { + bottom: 0; + left: 0; + opacity: .5; + position: absolute; + right: 0; + top: 0; + z-index: 1 +} + +.block-cover-image.has-background-dim.has-background-dim-10 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-10 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-10 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-10 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before { + opacity: .1 +} + +.block-cover-image.has-background-dim.has-background-dim-20 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-20 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-20 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-20 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before { + opacity: .2 +} + +.block-cover-image.has-background-dim.has-background-dim-30 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-30 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-30 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-30 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before { + opacity: .3 +} + +.block-cover-image.has-background-dim.has-background-dim-40 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-40 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-40 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-40 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before { + opacity: .4 +} + +.block-cover-image.has-background-dim.has-background-dim-50 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-50 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-50 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-50 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before { + opacity: .5 +} + +.block-cover-image.has-background-dim.has-background-dim-60 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-60 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-60 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-60 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before { + opacity: .6 +} + +.block-cover-image.has-background-dim.has-background-dim-70 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-70 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-70 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-70 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before { + opacity: .7 +} + +.block-cover-image.has-background-dim.has-background-dim-80 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-80 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-80 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-80 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before { + opacity: .8 +} + +.block-cover-image.has-background-dim.has-background-dim-90 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-90 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-90 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-90 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before { + opacity: .9 +} + +.block-cover-image.has-background-dim.has-background-dim-100 .block-cover__background, +.block-cover-image.has-background-dim.has-background-dim-100 .block-cover__gradient-background, +.block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before, +.block-cover.has-background-dim.has-background-dim-100 .block-cover__background, +.block-cover.has-background-dim.has-background-dim-100 .block-cover__gradient-background, +.block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before { + opacity: 1 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-0, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-0, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-0, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-0 { + opacity: 0 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-10, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-10, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-10, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-10 { + opacity: .1 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-20, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-20, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-20, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-20 { + opacity: .2 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-30, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-30, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-30, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-30 { + opacity: .3 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-40, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-40, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-40, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-40 { + opacity: .4 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-50, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-50, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-50, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-50 { + opacity: .5 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-60, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-60, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-60, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-60 { + opacity: .6 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-70, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-70, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-70, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-70 { + opacity: .7 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-80, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-80, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-80, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-80 { + opacity: .8 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-90, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-90, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-90, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-90 { + opacity: .9 +} + +.block-cover .block-cover__background.has-background-dim.has-background-dim-100, +.block-cover .block-cover__gradient-background.has-background-dim.has-background-dim-100, +.block-cover-image .block-cover__background.has-background-dim.has-background-dim-100, +.block-cover-image .block-cover__gradient-background.has-background-dim.has-background-dim-100 { + opacity: 1 +} + +.block-cover-image.alignleft, +.block-cover-image.alignright, +.block-cover.alignleft, +.block-cover.alignright { + max-width: 420px; + width: 100% +} + +.block-cover-image:after, +.block-cover:after { + content: ""; + display: block; + font-size: 0; + min-height: inherit +} + +@supports (position:sticky) { + + .block-cover-image:after, + .block-cover:after { + content: none + } +} + +.block-cover-image.aligncenter, +.block-cover-image.alignleft, +.block-cover-image.alignright, +.block-cover.aligncenter, +.block-cover.alignleft, +.block-cover.alignright { + display: flex +} + +.block-cover .block-cover__inner-container, +.block-cover-image .block-cover__inner-container { + color: inherit; + width: 100%; + z-index: 1 +} + +.block-cover h1:not(.has-text-color), +.block-cover h2:not(.has-text-color), +.block-cover h3:not(.has-text-color), +.block-cover h4:not(.has-text-color), +.block-cover h5:not(.has-text-color), +.block-cover h6:not(.has-text-color), +.block-cover p:not(.has-text-color), +.block-cover-image h1:not(.has-text-color), +.block-cover-image h2:not(.has-text-color), +.block-cover-image h3:not(.has-text-color), +.block-cover-image h4:not(.has-text-color), +.block-cover-image h5:not(.has-text-color), +.block-cover-image h6:not(.has-text-color), +.block-cover-image p:not(.has-text-color) { + color: inherit +} + +.block-cover-image.is-position-top-left, +.block-cover.is-position-top-left { + align-items: flex-start; + justify-content: flex-start +} + +.block-cover-image.is-position-top-center, +.block-cover.is-position-top-center { + align-items: flex-start; + justify-content: center +} + +.block-cover-image.is-position-top-right, +.block-cover.is-position-top-right { + align-items: flex-start; + justify-content: flex-end +} + +.block-cover-image.is-position-center-left, +.block-cover.is-position-center-left { + align-items: center; + justify-content: flex-start +} + +.block-cover-image.is-position-center-center, +.block-cover.is-position-center-center { + align-items: center; + justify-content: center +} + +.block-cover-image.is-position-center-right, +.block-cover.is-position-center-right { + align-items: center; + justify-content: flex-end +} + +.block-cover-image.is-position-bottom-left, +.block-cover.is-position-bottom-left { + align-items: flex-end; + justify-content: flex-start +} + +.block-cover-image.is-position-bottom-center, +.block-cover.is-position-bottom-center { + align-items: flex-end; + justify-content: center +} + +.block-cover-image.is-position-bottom-right, +.block-cover.is-position-bottom-right { + align-items: flex-end; + justify-content: flex-end +} + +.block-cover-image.has-custom-content-position.has-custom-content-position .block-cover__inner-container, +.block-cover.has-custom-content-position.has-custom-content-position .block-cover__inner-container { + margin: 0 +} + +.block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .block-cover__inner-container, +.block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .block-cover__inner-container, +.block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .block-cover__inner-container, +.block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .block-cover__inner-container, +.block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .block-cover__inner-container, +.block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .block-cover__inner-container, +.block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .block-cover__inner-container, +.block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .block-cover__inner-container, +.block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .block-cover__inner-container, +.block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .block-cover__inner-container, +.block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .block-cover__inner-container, +.block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .block-cover__inner-container { + margin: 0; + width: auto +} + +.block-cover .block-cover__image-background, +.block-cover video.block-cover__video-background, +.block-cover-image .block-cover__image-background, +.block-cover-image video.block-cover__video-background { + border: none; + bottom: 0; + box-shadow: none; + height: 100%; + left: 0; + margin: 0; + max-height: none; + max-width: none; + object-fit: cover; + outline: none; + padding: 0; + position: absolute; + right: 0; + top: 0; + width: 100% +} + +.block-cover-image.has-parallax, +.block-cover.has-parallax, +.block-cover__image-background.has-parallax, +video.block-cover__video-background.has-parallax { + background-attachment: fixed; + background-repeat: no-repeat; + background-size: cover +} + +@supports (-webkit-touch-callout:inherit) { + + .block-cover-image.has-parallax, + .block-cover.has-parallax, + .block-cover__image-background.has-parallax, + video.block-cover__video-background.has-parallax { + background-attachment: scroll + } +} + +@media (prefers-reduced-motion:reduce) { + + .block-cover-image.has-parallax, + .block-cover.has-parallax, + .block-cover__image-background.has-parallax, + video.block-cover__video-background.has-parallax { + background-attachment: scroll + } +} + +.block-cover-image.is-repeated, +.block-cover.is-repeated, +.block-cover__image-background.is-repeated, +video.block-cover__video-background.is-repeated { + background-repeat: repeat; + background-size: auto +} + +.block-cover__image-background, +.block-cover__video-background { + z-index: 0 +} + +.block-cover-image-text, +.block-cover-image-text a, +.block-cover-image-text a:active, +.block-cover-image-text a:focus, +.block-cover-image-text a:hover, +.block-cover-text, +.block-cover-text a, +.block-cover-text a:active, +.block-cover-text a:focus, +.block-cover-text a:hover, +section.block-cover-image h2, +section.block-cover-image h2 a, +section.block-cover-image h2 a:active, +section.block-cover-image h2 a:focus, +section.block-cover-image h2 a:hover { + color: #fff +} + +.block-cover-image .block-cover.has-left-content { + justify-content: flex-start +} + +.block-cover-image .block-cover.has-right-content { + justify-content: flex-end +} + +.block-cover-image.has-left-content .block-cover-image-text, +.block-cover.has-left-content .block-cover-text, +section.block-cover-image.has-left-content>h2 { + margin-left: 0; + text-align: left +} + +.block-cover-image.has-right-content .block-cover-image-text, +.block-cover.has-right-content .block-cover-text, +section.block-cover-image.has-right-content>h2 { + margin-right: 0; + text-align: right +} + +.block-cover .block-cover-text, +.block-cover-image .block-cover-image-text, +section.block-cover-image>h2 { + font-size: 2em; + line-height: 1.25; + margin-bottom: 0; + max-width: 840px; + padding: .44em; + text-align: center; + z-index: 1 +} + +:where(.block-cover-image:not(.has-text-color)), +:where(.block-cover:not(.has-text-color)) { + color: #fff +} + +:where(.block-cover-image.is-light:not(.has-text-color)), +:where(.block-cover.is-light:not(.has-text-color)) { + color: #000 +} + +.block-details { + box-sizing: border-box; + overflow: hidden +} + +.block-details summary { + cursor: pointer +} + +.block-embed.alignleft, +.block-embed.alignright, +.block[data-align=left]>[data-type="core/embed"], +.block[data-align=right]>[data-type="core/embed"] { + max-width: 360px; + width: 100% +} + +.block-embed.alignleft .block-embed__wrapper, +.block-embed.alignright .block-embed__wrapper, +.block[data-align=left]>[data-type="core/embed"] .block-embed__wrapper, +.block[data-align=right]>[data-type="core/embed"] .block-embed__wrapper { + min-width: 280px +} + +.block-cover .block-embed { + min-height: 240px; + min-width: 320px +} + +.block-embed { + overflow-wrap: break-word +} + +.block-embed figcaption { + margin-bottom: 1em; + margin-top: .5em +} + +.block-embed iframe { + max-width: 100% +} + +.block-embed__wrapper { + position: relative +} + +.embed-responsive .has-aspect-ratio .block-embed__wrapper:before { + content: ""; + display: block; + padding-top: 50% +} + +.embed-responsive .has-aspect-ratio iframe { + bottom: 0; + height: 100%; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100% +} + +.embed-responsive .embed-aspect-21-9 .block-embed__wrapper:before { + padding-top: 42.85% +} + +.embed-responsive .embed-aspect-18-9 .block-embed__wrapper:before { + padding-top: 50% +} + +.embed-responsive .embed-aspect-16-9 .block-embed__wrapper:before { + padding-top: 56.25% +} + +.embed-responsive .embed-aspect-4-3 .block-embed__wrapper:before { + padding-top: 75% +} + +.embed-responsive .embed-aspect-1-1 .block-embed__wrapper:before { + padding-top: 100% +} + +.embed-responsive .embed-aspect-9-16 .block-embed__wrapper:before { + padding-top: 177.77% +} + +.embed-responsive .embed-aspect-1-2 .block-embed__wrapper:before { + padding-top: 200% +} + +.block-file { + box-sizing: border-box +} + +.block-file:not(.element-button) { + font-size: .8em +} + +.block-file.aligncenter { + text-align: center +} + +.block-file.alignright { + text-align: right +} + +.block-file *+.block-file__button { + margin-left: .75em +} + +:where(.block-file) { + margin-bottom: 1.5em +} + +.block-file__embed { + margin-bottom: 1em +} + +:where(.block-file__button) { + border-radius: 2em; + display: inline-block; + padding: .5em 1em +} + +:where(.block-file__button):is(a):active, +:where(.block-file__button):is(a):focus, +:where(.block-file__button):is(a):hover, +:where(.block-file__button):is(a):visited { + box-shadow: none; + color: #fff; + opacity: .85; + text-decoration: none +} + +.blocks-gallery-grid:not(.has-nested-images), +.block-gallery:not(.has-nested-images) { + display: flex; + flex-wrap: wrap; + list-style-type: none; + margin: 0; + padding: 0 +} + +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image, +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item, +.block-gallery:not(.has-nested-images) .blocks-gallery-image, +.block-gallery:not(.has-nested-images) .blocks-gallery-item { + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + margin: 0 1em 1em 0; + position: relative; + width: calc(50% - 1em) +} + +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n), +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n), +.block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n), +.block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n) { + margin-right: 0 +} + +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure, +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure, +.block-gallery:not(.has-nested-images) .blocks-gallery-image figure, +.block-gallery:not(.has-nested-images) .blocks-gallery-item figure { + align-items: flex-end; + display: flex; + height: 100%; + justify-content: flex-start; + margin: 0 +} + +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img, +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img, +.block-gallery:not(.has-nested-images) .blocks-gallery-image img, +.block-gallery:not(.has-nested-images) .blocks-gallery-item img { + display: block; + height: auto; + max-width: 100%; + width: auto +} + +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption, +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption, +.block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption, +.block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption { + background: linear-gradient(0deg, rgba(0, 0, 0, .7), rgba(0, 0, 0, .3) 70%, transparent); + bottom: 0; + box-sizing: border-box; + color: #fff; + font-size: .8em; + margin: 0; + max-height: 100%; + overflow: auto; + padding: 3em .77em .7em; + position: absolute; + text-align: center; + width: 100%; + z-index: 2 +} + +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img, +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img, +.block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img, +.block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img { + display: inline +} + +.blocks-gallery-grid:not(.has-nested-images) figcaption, +.block-gallery:not(.has-nested-images) figcaption { + flex-grow: 1 +} + +.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a, +.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img, +.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a, +.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img, +.block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a, +.block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img, +.block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a, +.block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img { + flex: 1; + height: 100%; + object-fit: cover; + width: 100% +} + +.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image, +.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item, +.block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image, +.block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item { + margin-right: 0; + width: 100% +} + +@media (min-width:600px) { + + .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image, + .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item, + .block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image, + .block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item { + margin-right: 1em; + width: calc(33.33333% - .66667em) + } + + .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image, + .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item, + .block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image, + .block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item { + margin-right: 1em; + width: calc(25% - .75em) + } + + .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image, + .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item, + .block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image, + .block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item { + margin-right: 1em; + width: calc(20% - .8em) + } + + .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image, + .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item, + .block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image, + .block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item { + margin-right: 1em; + width: calc(16.66667% - .83333em) + } + + .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image, + .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item, + .block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image, + .block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item { + margin-right: 1em; + width: calc(14.28571% - .85714em) + } + + .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image, + .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item, + .block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image, + .block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item { + margin-right: 1em; + width: calc(12.5% - .875em) + } + + .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n), + .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n), + .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n), + .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n), + .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n), + .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n), + .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n), + .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n), + .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n), + .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n), + .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n), + .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n), + .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n), + .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n), + .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n), + .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n), + .block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n), + .block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n), + .block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n), + .block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n), + .block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n), + .block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n), + .block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n), + .block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n), + .block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n), + .block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n), + .block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n), + .block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n), + .block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n), + .block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n), + .block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n), + .block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n) { + margin-right: 0 + } +} + +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child, +.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child, +.block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child, +.block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child { + margin-right: 0 +} + +.blocks-gallery-grid:not(.has-nested-images).alignleft, +.blocks-gallery-grid:not(.has-nested-images).alignright, +.block-gallery:not(.has-nested-images).alignleft, +.block-gallery:not(.has-nested-images).alignright { + max-width: 420px; + width: 100% +} + +.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure, +.block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure { + justify-content: center +} + +.block-gallery:not(.is-cropped) .blocks-gallery-item { + align-self: flex-start +} + +figure.block-gallery.has-nested-images { + align-items: normal +} + +.block-gallery.has-nested-images figure.block-image:not(#individual-image) { + margin: 0; + width: calc(50% - var(---style--unstable-gallery-gap, 16px)/2) +} + +.block-gallery.has-nested-images figure.block-image { + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + max-width: 100%; + position: relative +} + +.block-gallery.has-nested-images figure.block-image>a, +.block-gallery.has-nested-images figure.block-image>div { + flex-direction: column; + flex-grow: 1; + margin: 0 +} + +.block-gallery.has-nested-images figure.block-image img { + display: block; + height: auto; + max-width: 100% !important; + width: auto +} + +.block-gallery.has-nested-images figure.block-image figcaption { + background: linear-gradient(0deg, rgba(0, 0, 0, .7), rgba(0, 0, 0, .3) 70%, transparent); + bottom: 0; + box-sizing: border-box; + color: #fff; + font-size: 13px; + left: 0; + margin-bottom: 0; + max-height: 60%; + overflow: auto; + padding: 0 8px 8px; + position: absolute; + text-align: center; + width: 100% +} + +.block-gallery.has-nested-images figure.block-image figcaption img { + display: inline +} + +.block-gallery.has-nested-images figure.block-image figcaption a { + color: inherit +} + +.block-gallery.has-nested-images figure.block-image.has-custom-border img { + box-sizing: border-box +} + +.block-gallery.has-nested-images figure.block-image.has-custom-border>a, +.block-gallery.has-nested-images figure.block-image.has-custom-border>div, +.block-gallery.has-nested-images figure.block-image.is-style-rounded>a, +.block-gallery.has-nested-images figure.block-image.is-style-rounded>div { + flex: 1 1 auto +} + +.block-gallery.has-nested-images figure.block-image.has-custom-border figcaption, +.block-gallery.has-nested-images figure.block-image.is-style-rounded figcaption { + background: none; + color: inherit; + flex: initial; + margin: 0; + padding: 10px 10px 9px; + position: relative +} + +.block-gallery.has-nested-images figcaption { + flex-basis: 100%; + flex-grow: 1; + text-align: center +} + +.block-gallery.has-nested-images:not(.is-cropped) figure.block-image:not(#individual-image) { + margin-bottom: auto; + margin-top: 0 +} + +.block-gallery.has-nested-images.is-cropped figure.block-image:not(#individual-image) { + align-self: inherit +} + +.block-gallery.has-nested-images.is-cropped figure.block-image:not(#individual-image)>a, +.block-gallery.has-nested-images.is-cropped figure.block-image:not(#individual-image)>div:not(.components-drop-zone) { + display: flex +} + +.block-gallery.has-nested-images.is-cropped figure.block-image:not(#individual-image) a, +.block-gallery.has-nested-images.is-cropped figure.block-image:not(#individual-image) img { + flex: 1 0 0%; + height: 100%; + object-fit: cover; + width: 100% +} + +.block-gallery.has-nested-images.columns-1 figure.block-image:not(#individual-image) { + width: 100% +} + +@media (min-width:600px) { + .block-gallery.has-nested-images.columns-3 figure.block-image:not(#individual-image) { + width: calc(33.33333% - var(---style--unstable-gallery-gap, 16px)*.66667) + } + + .block-gallery.has-nested-images.columns-4 figure.block-image:not(#individual-image) { + width: calc(25% - var(---style--unstable-gallery-gap, 16px)*.75) + } + + .block-gallery.has-nested-images.columns-5 figure.block-image:not(#individual-image) { + width: calc(20% - var(---style--unstable-gallery-gap, 16px)*.8) + } + + .block-gallery.has-nested-images.columns-6 figure.block-image:not(#individual-image) { + width: calc(16.66667% - var(---style--unstable-gallery-gap, 16px)*.83333) + } + + .block-gallery.has-nested-images.columns-7 figure.block-image:not(#individual-image) { + width: calc(14.28571% - var(---style--unstable-gallery-gap, 16px)*.85714) + } + + .block-gallery.has-nested-images.columns-8 figure.block-image:not(#individual-image) { + width: calc(12.5% - var(---style--unstable-gallery-gap, 16px)*.875) + } + + .block-gallery.has-nested-images.columns-default figure.block-image:not(#individual-image) { + width: calc(22.222% - var(---style--unstable-gallery-gap, 16px)*.66667) + } + + .block-gallery.has-nested-images.columns-default figure.block-image:not(#individual-image):first-child:nth-last-child(2), + .block-gallery.has-nested-images.columns-default figure.block-image:not(#individual-image):first-child:nth-last-child(2)~figure.block-image:not(#individual-image) { + width: calc(50% - var(---style--unstable-gallery-gap, 16px)*.5) + } + + .block-gallery.has-nested-images.columns-default figure.block-image:not(#individual-image):first-child:last-child { + width: 100% + } +} + +.block-gallery.has-nested-images.alignleft, +.block-gallery.has-nested-images.alignright { + max-width: 420px; + width: 100% +} + +.block-gallery.has-nested-images.aligncenter { + justify-content: center +} + +.block-group { + box-sizing: border-box +} + +h1.has-background, +h2.has-background, +h3.has-background, +h4.has-background, +h5.has-background, +h6.has-background { + padding: 1.25em 2.375em +} + +h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), +h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), +h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), +h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), +h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), +h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), +h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), +h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), +h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), +h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), +h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), +h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]) { + rotate: 180deg +} + +.block-image img { + box-sizing: border-box; + height: auto; + max-width: 100%; + vertical-align: bottom +} + +.block-image[style*=border-radius] img, +.block-image[style*=border-radius]>a { + border-radius: inherit +} + +.block-image.has-custom-border img { + box-sizing: border-box +} + +.block-image.aligncenter { + text-align: center +} + +.block-image.alignfull img, +.block-image.alignwide img { + height: auto; + width: 100% +} + +.block-image .aligncenter, +.block-image .alignleft, +.block-image .alignright, +.block-image.aligncenter, +.block-image.alignleft, +.block-image.alignright { + display: table +} + +.block-image .aligncenter>figcaption, +.block-image .alignleft>figcaption, +.block-image .alignright>figcaption, +.block-image.aligncenter>figcaption, +.block-image.alignleft>figcaption, +.block-image.alignright>figcaption { + caption-side: bottom; + display: table-caption +} + +.block-image .alignleft { + float: left; + margin: .5em 1em .5em 0 +} + +.block-image .alignright { + float: right; + margin: .5em 0 .5em 1em +} + +.block-image .aligncenter { + margin-left: auto; + margin-right: auto +} + +.block-image figcaption { + margin-bottom: 1em; + margin-top: .5em +} + +.block-image .is-style-rounded img, +.block-image.is-style-circle-mask img, +.block-image.is-style-rounded img { + border-radius: 9999px +} + +@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none) { + .block-image.is-style-circle-mask img { + border-radius: 0; + -webkit-mask-image: url('data:image/svg+xml;utf8,'); + mask-image: url('data:image/svg+xml;utf8,'); + mask-mode: alpha; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain + } +} + +.block-image :where(.has-border-color) { + border-style: solid +} + +.block-image :where([style*=border-top-color]) { + border-top-style: solid +} + +.block-image :where([style*=border-right-color]) { + border-right-style: solid +} + +.block-image :where([style*=border-bottom-color]) { + border-bottom-style: solid +} + +.block-image :where([style*=border-left-color]) { + border-left-style: solid +} + +.block-image :where([style*=border-width]) { + border-style: solid +} + +.block-image :where([style*=border-top-width]) { + border-top-style: solid +} + +.block-image :where([style*=border-right-width]) { + border-right-style: solid +} + +.block-image :where([style*=border-bottom-width]) { + border-bottom-style: solid +} + +.block-image :where([style*=border-left-width]) { + border-left-style: solid +} + +.block-image figure { + margin: 0 +} + +.lightbox-container { + display: flex; + flex-direction: column; + position: relative +} + +.lightbox-container img { + cursor: zoom-in +} + +.lightbox-container img:hover+button { + opacity: 1 +} + +.lightbox-container button { + align-items: center; + -webkit-backdrop-filter: blur(16px) saturate(180%); + backdrop-filter: blur(16px) saturate(180%); + background-color: rgba(90, 90, 90, .25); + border: none; + border-radius: 4px; + cursor: zoom-in; + display: flex; + height: 20px; + justify-content: center; + opacity: 0; + padding: 0; + position: absolute; + right: 16px; + text-align: center; + top: 16px; + transition: opacity .2s ease; + width: 20px; + z-index: 100 +} + +.lightbox-container button:focus-visible { + outline: 3px auto rgba(90, 90, 90, .25); + outline: 3px auto -webkit-focus-ring-color; + outline-offset: 3px +} + +.lightbox-container button:hover { + cursor: pointer; + opacity: 1 +} + +.lightbox-container button:focus { + opacity: 1 +} + +.lightbox-container button:focus, +.lightbox-container button:hover, +.lightbox-container button:not(:hover):not(:active):not(.has-background) { + background-color: rgba(90, 90, 90, .25); + border: none +} + +.lightbox-overlay { + box-sizing: border-box; + cursor: zoom-out; + height: 100vh; + left: 0; + overflow: hidden; + position: fixed; + top: 0; + visibility: hidden; + width: 100vw; + z-index: 100000 +} + +.lightbox-overlay .close-button { + align-items: center; + cursor: pointer; + display: flex; + justify-content: center; + min-height: 40px; + min-width: 40px; + padding: 0; + position: absolute; + right: calc(env(safe-area-inset-right) + 16px); + top: calc(env(safe-area-inset-top) + 16px); + z-index: 5000000 +} + +.lightbox-overlay .close-button:focus, +.lightbox-overlay .close-button:hover, +.lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background) { + background: none; + border: none +} + +.lightbox-overlay .lightbox-image-container { + height: var(---lightbox-container-height); + left: 50%; + overflow: hidden; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + transform-origin: top left; + width: var(---lightbox-container-width); + z-index: 9999999999 +} + +.lightbox-overlay .block-image { + align-items: center; + box-sizing: border-box; + display: flex; + height: 100%; + justify-content: center; + margin: 0; + position: relative; + transform-origin: 0 0; + width: 100%; + z-index: 3000000 +} + +.lightbox-overlay .block-image img { + height: var(---lightbox-image-height); + min-height: var(---lightbox-image-height); + min-width: var(---lightbox-image-width); + width: var(---lightbox-image-width) +} + +.lightbox-overlay .block-image figcaption { + display: none +} + +.lightbox-overlay button { + background: none; + border: none +} + +.lightbox-overlay .scrim { + background-color: #fff; + height: 100%; + opacity: .9; + position: absolute; + width: 100%; + z-index: 2000000 +} + +.lightbox-overlay.active { + animation: turn-on-visibility .25s both; + visibility: visible +} + +.lightbox-overlay.active img { + animation: turn-on-visibility .35s both +} + +.lightbox-overlay.hideanimationenabled:not(.active) { + animation: turn-off-visibility .35s both +} + +.lightbox-overlay.hideanimationenabled:not(.active) img { + animation: turn-off-visibility .25s both +} + +@media (prefers-reduced-motion:no-preference) { + .lightbox-overlay.zoom.active { + animation: none; + opacity: 1; + visibility: visible + } + + .lightbox-overlay.zoom.active .lightbox-image-container { + animation: lightbox-zoom-in .4s + } + + .lightbox-overlay.zoom.active .lightbox-image-container img { + animation: none + } + + .lightbox-overlay.zoom.active .scrim { + animation: turn-on-visibility .4s forwards + } + + .lightbox-overlay.zoom.hideanimationenabled:not(.active) { + animation: none + } + + .lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container { + animation: lightbox-zoom-out .4s + } + + .lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img { + animation: none + } + + .lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim { + animation: turn-off-visibility .4s forwards + } +} + +@keyframes turn-on-visibility { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@keyframes turn-off-visibility { + 0% { + opacity: 1; + visibility: visible + } + + 99% { + opacity: 0; + visibility: visible + } + + to { + opacity: 0; + visibility: hidden + } +} + +@keyframes lightbox-zoom-in { + 0% { + transform: translate(calc(-50vw + var(---lightbox-initial-left-position)), calc(-50vh + var(---lightbox-initial-top-position))) scale(var(---lightbox-scale)) + } + + to { + transform: translate(-50%, -50%) scale(1) + } +} + +@keyframes lightbox-zoom-out { + 0% { + transform: translate(-50%, -50%) scale(1); + visibility: visible + } + + 99% { + visibility: visible + } + + to { + transform: translate(calc(-50vw + var(---lightbox-initial-left-position)), calc(-50vh + var(---lightbox-initial-top-position))) scale(var(---lightbox-scale)); + visibility: hidden + } +} + +ol.block-latest-comments { + box-sizing: border-box; + margin-left: 0 +} + +:where(.block-latest-comments:not([style*=line-height] .block-latest-comments__comment)) { + line-height: 1.1 +} + +:where(.block-latest-comments:not([style*=line-height] .block-latest-comments__comment-excerpt p)) { + line-height: 1.8 +} + +.has-dates :where(.block-latest-comments:not([style*=line-height])), +.has-excerpts :where(.block-latest-comments:not([style*=line-height])) { + line-height: 1.5 +} + +.block-latest-comments .block-latest-comments { + padding-left: 0 +} + +.block-latest-comments__comment { + list-style: none; + margin-bottom: 1em +} + +.has-avatars .block-latest-comments__comment { + list-style: none; + min-height: 2.25em +} + +.has-avatars .block-latest-comments__comment .block-latest-comments__comment-excerpt, +.has-avatars .block-latest-comments__comment .block-latest-comments__comment-meta { + margin-left: 3.25em +} + +.block-latest-comments__comment-excerpt p { + font-size: .875em; + margin: .36em 0 1.4em +} + +.block-latest-comments__comment-date { + display: block; + font-size: .75em +} + +.block-latest-comments .avatar, +.block-latest-comments__comment-avatar { + border-radius: 1.5em; + display: block; + float: left; + height: 2.5em; + margin-right: .75em; + width: 2.5em +} + +.block-latest-comments[class*=-font-size] a, +.block-latest-comments[style*=font-size] a { + font-size: inherit +} + +.block-latest-posts { + box-sizing: border-box +} + +.block-latest-posts.alignleft { + margin-right: 2em +} + +.block-latest-posts.alignright { + margin-left: 2em +} + +.block-latest-posts.block-latest-posts__list { + list-style: none; + padding-left: 0 +} + +.block-latest-posts.block-latest-posts__list li { + clear: both +} + +.block-latest-posts.is-grid { + display: flex; + flex-wrap: wrap; + padding: 0 +} + +.block-latest-posts.is-grid li { + margin: 0 1.25em 1.25em 0; + width: 100% +} + +@media (min-width:600px) { + .block-latest-posts.columns-2 li { + width: calc(50% - .625em) + } + + .block-latest-posts.columns-2 li:nth-child(2n) { + margin-right: 0 + } + + .block-latest-posts.columns-3 li { + width: calc(33.33333% - .83333em) + } + + .block-latest-posts.columns-3 li:nth-child(3n) { + margin-right: 0 + } + + .block-latest-posts.columns-4 li { + width: calc(25% - .9375em) + } + + .block-latest-posts.columns-4 li:nth-child(4n) { + margin-right: 0 + } + + .block-latest-posts.columns-5 li { + width: calc(20% - 1em) + } + + .block-latest-posts.columns-5 li:nth-child(5n) { + margin-right: 0 + } + + .block-latest-posts.columns-6 li { + width: calc(16.66667% - 1.04167em) + } + + .block-latest-posts.columns-6 li:nth-child(6n) { + margin-right: 0 + } +} + +.block-latest-posts__post-author, +.block-latest-posts__post-date { + display: block; + font-size: .8125em +} + +.block-latest-posts__post-excerpt { + margin-bottom: 1em; + margin-top: .5em +} + +.block-latest-posts__featured-image a { + display: inline-block +} + +.block-latest-posts__featured-image img { + height: auto; + max-width: 100%; + width: auto +} + +.block-latest-posts__featured-image.alignleft { + float: left; + margin-right: 1em +} + +.block-latest-posts__featured-image.alignright { + float: right; + margin-left: 1em +} + +.block-latest-posts__featured-image.aligncenter { + margin-bottom: 1em; + text-align: center +} + +ol, +ul { + box-sizing: border-box +} + +ol.has-background, +ul.has-background { + padding: 1.25em 2.375em +} + +.block-media-text { + box-sizing: border-box; + /*!rtl:begin:ignore*/ + direction: ltr; + /*!rtl:end:ignore*/ + display: grid; + grid-template-columns: 50% 1fr; + grid-template-rows: auto +} + +.block-media-text.has-media-on-the-right { + grid-template-columns: 1fr 50% +} + +.block-media-text.is-vertically-aligned-top .block-media-text__content, +.block-media-text.is-vertically-aligned-top .block-media-text__media { + align-self: start +} + +.block-media-text .block-media-text__content, +.block-media-text .block-media-text__media, +.block-media-text.is-vertically-aligned-center .block-media-text__content, +.block-media-text.is-vertically-aligned-center .block-media-text__media { + align-self: center +} + +.block-media-text.is-vertically-aligned-bottom .block-media-text__content, +.block-media-text.is-vertically-aligned-bottom .block-media-text__media { + align-self: end +} + +.block-media-text .block-media-text__media { + /*!rtl:begin:ignore*/ + grid-column: 1; + grid-row: 1; + /*!rtl:end:ignore*/ + margin: 0 +} + +.block-media-text .block-media-text__content { + direction: ltr; + /*!rtl:begin:ignore*/ + grid-column: 2; + grid-row: 1; + /*!rtl:end:ignore*/ + padding: 0 8%; + word-break: break-word +} + +.block-media-text.has-media-on-the-right .block-media-text__media { + /*!rtl:begin:ignore*/ + grid-column: 2; + grid-row: 1 + /*!rtl:end:ignore*/ +} + +.block-media-text.has-media-on-the-right .block-media-text__content { + /*!rtl:begin:ignore*/ + grid-column: 1; + grid-row: 1 + /*!rtl:end:ignore*/ +} + +.block-media-text__media img, +.block-media-text__media video { + height: auto; + max-width: unset; + vertical-align: middle; + width: 100% +} + +.block-media-text.is-image-fill .block-media-text__media { + background-size: cover; + height: 100%; + min-height: 250px +} + +.block-media-text.is-image-fill .block-media-text__media>a { + display: block; + height: 100% +} + +.block-media-text.is-image-fill .block-media-text__media img { + clip: rect(0, 0, 0, 0); + border: 0; + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px +} + +@media (max-width:600px) { + .block-media-text.is-stacked-on-mobile { + grid-template-columns: 100% !important + } + + .block-media-text.is-stacked-on-mobile .block-media-text__media { + grid-column: 1; + grid-row: 1 + } + + .block-media-text.is-stacked-on-mobile .block-media-text__content { + grid-column: 1; + grid-row: 2 + } +} + +.block-navigation { + --navigation-layout-justification-setting: flex-start; + --navigation-layout-direction: row; + --navigation-layout-wrap: wrap; + --navigation-layout-justify: flex-start; + --navigation-layout-align: center; + position: relative +} + +.block-navigation ul { + margin-bottom: 0; + margin-left: 0; + margin-top: 0; + padding-left: 0 +} + +.block-navigation ul, +.block-navigation ul li { + list-style: none; + padding: 0 +} + +.block-navigation .block-navigation-item { + align-items: center; + display: flex; + position: relative +} + +.block-navigation .block-navigation-item .block-navigation__submenu-container:empty { + display: none +} + +.block-navigation .block-navigation-item__content { + display: block +} + +.block-navigation .block-navigation-item__content.block-navigation-item__content { + color: inherit +} + +.block-navigation.has-text-decoration-underline .block-navigation-item__content, +.block-navigation.has-text-decoration-underline .block-navigation-item__content:active, +.block-navigation.has-text-decoration-underline .block-navigation-item__content:focus { + text-decoration: underline +} + +.block-navigation.has-text-decoration-line-through .block-navigation-item__content, +.block-navigation.has-text-decoration-line-through .block-navigation-item__content:active, +.block-navigation.has-text-decoration-line-through .block-navigation-item__content:focus { + text-decoration: line-through +} + +.block-navigation:where(:not([class*=has-text-decoration])) a { + text-decoration: none +} + +.block-navigation:where(:not([class*=has-text-decoration])) a:active, +.block-navigation:where(:not([class*=has-text-decoration])) a:focus { + text-decoration: none +} + +.block-navigation .block-navigation__submenu-icon { + align-self: center; + background-color: inherit; + border: none; + color: currentColor; + display: inline-block; + font-size: inherit; + height: .6em; + line-height: 0; + margin-left: .25em; + padding: 0; + width: .6em +} + +.block-navigation .block-navigation__submenu-icon svg { + stroke: currentColor; + display: inline-block; + height: inherit; + margin-top: .075em; + width: inherit +} + +.block-navigation.is-vertical { + --navigation-layout-direction: column; + --navigation-layout-justify: initial; + --navigation-layout-align: flex-start +} + +.block-navigation.no-wrap { + --navigation-layout-wrap: nowrap +} + +.block-navigation.items-justified-center { + --navigation-layout-justification-setting: center; + --navigation-layout-justify: center +} + +.block-navigation.items-justified-center.is-vertical { + --navigation-layout-align: center +} + +.block-navigation.items-justified-right { + --navigation-layout-justification-setting: flex-end; + --navigation-layout-justify: flex-end +} + +.block-navigation.items-justified-right.is-vertical { + --navigation-layout-align: flex-end +} + +.block-navigation.items-justified-space-between { + --navigation-layout-justification-setting: space-between; + --navigation-layout-justify: space-between +} + +.block-navigation .has-child .block-navigation__submenu-container { + align-items: normal; + background-color: inherit; + color: inherit; + display: flex; + flex-direction: column; + height: 0; + left: -1px; + opacity: 0; + overflow: hidden; + position: absolute; + top: 100%; + transition: opacity .1s linear; + visibility: hidden; + width: 0; + z-index: 2 +} + +.block-navigation .has-child .block-navigation__submenu-container>.block-navigation-item>.block-navigation-item__content { + display: flex; + flex-grow: 1 +} + +.block-navigation .has-child .block-navigation__submenu-container>.block-navigation-item>.block-navigation-item__content .block-navigation__submenu-icon { + margin-left: auto; + margin-right: 0 +} + +.block-navigation .has-child .block-navigation__submenu-container .block-navigation-item__content { + margin: 0 +} + +@media (min-width:782px) { + .block-navigation .has-child .block-navigation__submenu-container .block-navigation__submenu-container { + left: 100%; + top: -1px + } + + .block-navigation .has-child .block-navigation__submenu-container .block-navigation__submenu-container:before { + background: transparent; + content: ""; + display: block; + height: 100%; + position: absolute; + right: 100%; + width: .5em + } + + .block-navigation .has-child .block-navigation__submenu-container .block-navigation__submenu-icon { + margin-right: .25em + } + + .block-navigation .has-child .block-navigation__submenu-container .block-navigation__submenu-icon svg { + transform: rotate(-90deg) + } +} + +.block-navigation .has-child:not(.open-on-click):hover>.block-navigation__submenu-container { + height: auto; + min-width: 200px; + opacity: 1; + overflow: visible; + visibility: visible; + width: auto +} + +.block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.block-navigation__submenu-container { + height: auto; + min-width: 200px; + opacity: 1; + overflow: visible; + visibility: visible; + width: auto +} + +.block-navigation .has-child .block-navigation-submenu__toggle[aria-expanded=true]~.block-navigation__submenu-container { + height: auto; + min-width: 200px; + opacity: 1; + overflow: visible; + visibility: visible; + width: auto +} + +.block-navigation.has-background .has-child .block-navigation__submenu-container { + left: 0; + top: 100% +} + +@media (min-width:782px) { + .block-navigation.has-background .has-child .block-navigation__submenu-container .block-navigation__submenu-container { + left: 100%; + top: 0 + } +} + +.block-navigation-submenu { + display: flex; + position: relative +} + +.block-navigation-submenu .block-navigation__submenu-icon svg { + stroke: currentColor +} + +button.block-navigation-item__content { + background-color: transparent; + border: none; + color: currentColor; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + text-align: left; + text-transform: inherit +} + +.block-navigation-submenu__toggle { + cursor: pointer +} + +.block-navigation-item.open-on-click .block-navigation-submenu__toggle { + padding-right: .85em +} + +.block-navigation-item.open-on-click .block-navigation-submenu__toggle+.block-navigation__submenu-icon { + margin-left: -.6em; + pointer-events: none +} + +.block-navigation .block-page-list, +.block-navigation__container, +.block-navigation__responsive-close, +.block-navigation__responsive-container, +.block-navigation__responsive-container-content, +.block-navigation__responsive-dialog { + gap: inherit +} + +:where(.block-navigation.has-background .block-navigation-item a:not(.element-button)), +:where(.block-navigation.has-background .block-navigation-submenu a:not(.element-button)) { + padding: .5em 1em +} + +:where(.block-navigation .block-navigation__submenu-container .block-navigation-item a:not(.element-button)), +:where(.block-navigation .block-navigation__submenu-container .block-navigation-submenu a:not(.element-button)), +:where(.block-navigation .block-navigation__submenu-container .block-navigation-submenu button.block-navigation-item__content), +:where(.block-navigation .block-navigation__submenu-container .block-pages-list__item button.block-navigation-item__content) { + padding: .5em 1em +} + +.block-navigation.items-justified-right .block-navigation__container .has-child .block-navigation__submenu-container, +.block-navigation.items-justified-right .block-page-list>.has-child .block-navigation__submenu-container, +.block-navigation.items-justified-space-between .block-page-list>.has-child:last-child .block-navigation__submenu-container, +.block-navigation.items-justified-space-between>.block-navigation__container>.has-child:last-child .block-navigation__submenu-container { + left: auto; + right: 0 +} + +.block-navigation.items-justified-right .block-navigation__container .has-child .block-navigation__submenu-container .block-navigation__submenu-container, +.block-navigation.items-justified-right .block-page-list>.has-child .block-navigation__submenu-container .block-navigation__submenu-container, +.block-navigation.items-justified-space-between .block-page-list>.has-child:last-child .block-navigation__submenu-container .block-navigation__submenu-container, +.block-navigation.items-justified-space-between>.block-navigation__container>.has-child:last-child .block-navigation__submenu-container .block-navigation__submenu-container { + left: -1px; + right: -1px +} + +@media (min-width:782px) { + + .block-navigation.items-justified-right .block-navigation__container .has-child .block-navigation__submenu-container .block-navigation__submenu-container, + .block-navigation.items-justified-right .block-page-list>.has-child .block-navigation__submenu-container .block-navigation__submenu-container, + .block-navigation.items-justified-space-between .block-page-list>.has-child:last-child .block-navigation__submenu-container .block-navigation__submenu-container, + .block-navigation.items-justified-space-between>.block-navigation__container>.has-child:last-child .block-navigation__submenu-container .block-navigation__submenu-container { + left: auto; + right: 100% + } +} + +.block-navigation:not(.has-background) .block-navigation__submenu-container { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, .15) +} + +.block-navigation.has-background .block-navigation__submenu-container { + background-color: inherit +} + +.block-navigation:not(.has-text-color) .block-navigation__submenu-container { + color: #000 +} + +.block-navigation__container { + align-items: var(--navigation-layout-align, initial); + display: flex; + flex-direction: var(--navigation-layout-direction, initial); + flex-wrap: var(--navigation-layout-wrap, wrap); + justify-content: var(--navigation-layout-justify, initial); + list-style: none; + margin: 0; + padding-left: 0 +} + +.block-navigation__container .is-responsive { + display: none +} + +.block-navigation__container:only-child, +.block-page-list:only-child { + flex-grow: 1 +} + +@keyframes overlay-menu__fade-in-animation { + 0% { + opacity: 0; + transform: translateY(.5em) + } + + to { + opacity: 1; + transform: translateY(0) + } +} + +.block-navigation__responsive-container { + bottom: 0; + display: none; + left: 0; + position: fixed; + right: 0; + top: 0 +} + +.block-navigation__responsive-container :where(.block-navigation-item a) { + color: inherit +} + +.block-navigation__responsive-container .block-navigation__responsive-container-content { + align-items: var(--navigation-layout-align, initial); + display: flex; + flex-direction: var(--navigation-layout-direction, initial); + flex-wrap: var(--navigation-layout-wrap, wrap); + justify-content: var(--navigation-layout-justify, initial) +} + +.block-navigation__responsive-container:not(.is-menu-open.is-menu-open) { + background-color: inherit !important; + color: inherit !important +} + +.block-navigation__responsive-container.is-menu-open { + animation: overlay-menu__fade-in-animation .1s ease-out; + animation-fill-mode: forwards; + background-color: inherit; + display: flex; + flex-direction: column; + overflow: auto; + padding: clamp(1rem, var(---style--root--padding-top), 20rem) clamp(1rem, var(---style--root--padding-right), 20rem) clamp(1rem, var(---style--root--padding-bottom), 20rem) clamp(1rem, var(---style--root--padding-left), 20em); + z-index: 100000 +} + +@media (prefers-reduced-motion:reduce) { + .block-navigation__responsive-container.is-menu-open { + animation-delay: 0s; + animation-duration: 1ms + } +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content { + align-items: var(--navigation-layout-justification-setting, inherit); + display: flex; + flex-direction: column; + flex-wrap: nowrap; + overflow: visible; + padding-top: calc(2rem + 24px) +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content, +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-navigation__container, +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-page-list { + justify-content: flex-start +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-navigation__submenu-icon { + display: none +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .has-child .block-navigation__submenu-container { + border: none; + height: auto; + min-width: 200px; + opacity: 1; + overflow: initial; + padding-left: 2rem; + padding-right: 2rem; + position: static; + visibility: visible; + width: auto +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-navigation__container, +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-navigation__submenu-container { + gap: inherit +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-navigation__submenu-container { + padding-top: var(---style--block-gap, 2em) +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-navigation-item__content { + padding: 0 +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-navigation-item, +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-navigation__container, +.block-navigation__responsive-container.is-menu-open .block-navigation__responsive-container-content .block-page-list { + align-items: var(--navigation-layout-justification-setting, initial); + display: flex; + flex-direction: column +} + +.block-navigation__responsive-container.is-menu-open .block-navigation-item, +.block-navigation__responsive-container.is-menu-open .block-navigation-item .block-navigation__submenu-container, +.block-navigation__responsive-container.is-menu-open .block-navigation__container, +.block-navigation__responsive-container.is-menu-open .block-page-list { + background: transparent !important; + color: inherit !important +} + +.block-navigation__responsive-container.is-menu-open .block-navigation__submenu-container.block-navigation__submenu-container.block-navigation__submenu-container.block-navigation__submenu-container { + left: auto; + right: auto +} + +@media (min-width:600px) { + .block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { + background-color: inherit; + display: block; + position: relative; + width: 100%; + z-index: auto + } + + .block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .block-navigation__responsive-container-close { + display: none + } + + .block-navigation__responsive-container.is-menu-open .block-navigation__submenu-container.block-navigation__submenu-container.block-navigation__submenu-container.block-navigation__submenu-container { + left: 0 + } +} + +.block-navigation:not(.has-background) .block-navigation__responsive-container.is-menu-open { + background-color: #fff +} + +.block-navigation:not(.has-text-color) .block-navigation__responsive-container.is-menu-open { + color: #000 +} + +.block-navigation__toggle_button_label { + font-size: 1rem; + font-weight: 700 +} + +.block-navigation__responsive-container-close, +.block-navigation__responsive-container-open { + background: transparent; + border: none; + color: currentColor; + cursor: pointer; + margin: 0; + padding: 0; + text-transform: inherit; + vertical-align: middle +} + +.block-navigation__responsive-container-close svg, +.block-navigation__responsive-container-open svg { + fill: currentColor; + display: block; + height: 24px; + pointer-events: none; + width: 24px +} + +.block-navigation__responsive-container-open { + display: flex +} + +.block-navigation__responsive-container-open.block-navigation__responsive-container-open.block-navigation__responsive-container-open { + font-family: inherit; + font-size: inherit; + font-weight: inherit +} + +@media (min-width:600px) { + .block-navigation__responsive-container-open:not(.always-shown) { + display: none + } +} + +.block-navigation__responsive-container-close { + position: absolute; + right: 0; + top: 0; + z-index: 2 +} + +.block-navigation__responsive-container-close.block-navigation__responsive-container-close.block-navigation__responsive-container-close { + font-family: inherit; + font-size: inherit; + font-weight: inherit +} + +.block-navigation__responsive-close { + width: 100% +} + +.has-modal-open .block-navigation__responsive-close { + margin-left: auto; + margin-right: auto; + max-width: var(---style--global--wide-size, 100%) +} + +.block-navigation__responsive-close:focus { + outline: none +} + +.is-menu-open .block-navigation__responsive-close, +.is-menu-open .block-navigation__responsive-container-content, +.is-menu-open .block-navigation__responsive-dialog { + box-sizing: border-box +} + +.block-navigation__responsive-dialog { + position: relative +} + +html.has-modal-open { + overflow: hidden +} + +.block-navigation .block-navigation-item__label { + overflow-wrap: break-word +} + +.block-navigation .block-navigation-item__description { + display: none +} + +.block-navigation .block-page-list { + align-items: var(--navigation-layout-align, initial); + background-color: inherit; + display: flex; + flex-direction: var(--navigation-layout-direction, initial); + flex-wrap: var(--navigation-layout-wrap, wrap); + justify-content: var(--navigation-layout-justify, initial) +} + +.block-navigation .block-navigation-item { + background-color: inherit +} + +.is-small-text { + font-size: .875em +} + +.is-regular-text { + font-size: 1em +} + +.is-large-text { + font-size: 2.25em +} + +.is-larger-text { + font-size: 3em +} + +.has-drop-cap:not(:focus):first-letter { + float: left; + font-size: 8.4em; + font-style: normal; + font-weight: 100; + line-height: .68; + margin: .05em .1em 0 0; + text-transform: uppercase +} + +body.rtl .has-drop-cap:not(:focus):first-letter { + float: none; + margin-left: .1em +} + +p.has-drop-cap.has-background { + overflow: hidden +} + +p.has-background { + padding: 1.25em 2.375em +} + +:where(p.has-text-color:not(.has-link-color)) a { + color: inherit +} + +p.has-text-align-left[style*="writing-mode:vertical-lr"], +p.has-text-align-right[style*="writing-mode:vertical-rl"] { + rotate: 180deg +} + +.block-post-author { + display: flex; + flex-wrap: wrap +} + +.block-post-author__byline { + font-size: .5em; + margin-bottom: 0; + margin-top: 0; + width: 100% +} + +.block-post-author__avatar { + margin-right: 1em +} + +.block-post-author__bio { + font-size: .7em; + margin-bottom: .7em +} + +.block-post-author__content { + flex-basis: 0; + flex-grow: 1 +} + +.block-post-author__name { + margin: 0 +} + +.block-post-comments-form { + box-sizing: border-box +} + +.block-post-comments-form[style*=font-weight] :where(.comment-reply-title) { + font-weight: inherit +} + +.block-post-comments-form[style*=font-family] :where(.comment-reply-title) { + font-family: inherit +} + +.block-post-comments-form[class*=-font-size] :where(.comment-reply-title), +.block-post-comments-form[style*=font-size] :where(.comment-reply-title) { + font-size: inherit +} + +.block-post-comments-form[style*=line-height] :where(.comment-reply-title) { + line-height: inherit +} + +.block-post-comments-form[style*=font-style] :where(.comment-reply-title) { + font-style: inherit +} + +.block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title) { + letter-spacing: inherit +} + +.block-post-comments-form input[type=submit] { + box-shadow: none; + cursor: pointer; + display: inline-block; + overflow-wrap: break-word; + text-align: center +} + +.block-post-comments-form input:not([type=submit]), +.block-post-comments-form textarea { + border: 1px solid #949494; + font-family: inherit; + font-size: 1em +} + +.block-post-comments-form input:not([type=submit]):not([type=checkbox]), +.block-post-comments-form textarea { + padding: calc(.667em + 2px) +} + +.block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]), +.block-post-comments-form .comment-form textarea { + box-sizing: border-box; + display: block; + width: 100% +} + +.block-post-comments-form .comment-form-author label, +.block-post-comments-form .comment-form-email label, +.block-post-comments-form .comment-form-url label { + display: block; + margin-bottom: .25em +} + +.block-post-comments-form .comment-form-cookies-consent { + display: flex; + gap: .25em +} + +.block-post-comments-form .comment-form-cookies-consent #comment-cookies-consent { + margin-top: .35em +} + +.block-post-comments-form .comment-reply-title { + margin-bottom: 0 +} + +.block-post-comments-form .comment-reply-title :where(small) { + font-size: var(---preset--font-size--medium, smaller); + margin-left: .5em +} + +.block-post-date { + box-sizing: border-box +} + +:where(.block-post-excerpt) { + margin-bottom: var(---style--block-gap); + margin-top: var(---style--block-gap) +} + +.block-post-excerpt__excerpt { + margin-bottom: 0; + margin-top: 0 +} + +.block-post-excerpt__more-text { + margin-bottom: 0; + margin-top: var(---style--block-gap) +} + +.block-post-excerpt__more-link { + display: inline-block +} + +.block-post-featured-image { + margin-left: 0; + margin-right: 0 +} + +.block-post-featured-image a { + display: block; + height: 100% +} + +.block-post-featured-image img { + box-sizing: border-box; + height: auto; + max-width: 100%; + vertical-align: bottom; + width: 100% +} + +.block-post-featured-image.alignfull img, +.block-post-featured-image.alignwide img { + width: 100% +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim { + background-color: #000; + inset: 0; + position: absolute +} + +.block-post-featured-image { + position: relative +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-gradient { + background-color: transparent +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-0 { + opacity: 0 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-10 { + opacity: .1 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-20 { + opacity: .2 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-30 { + opacity: .3 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-40 { + opacity: .4 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-50 { + opacity: .5 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-60 { + opacity: .6 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-70 { + opacity: .7 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-80 { + opacity: .8 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-90 { + opacity: .9 +} + +.block-post-featured-image .block-post-featured-image__overlay.has-background-dim-100 { + opacity: 1 +} + +.block-post-featured-image:where(.alignleft, .alignright) { + width: 100% +} + +.block-post-navigation-link .block-post-navigation-link__arrow-previous { + display: inline-block; + margin-right: 1ch +} + +.block-post-navigation-link .block-post-navigation-link__arrow-previous:not(.is-arrow-chevron) { + transform: scaleX(1) +} + +.block-post-navigation-link .block-post-navigation-link__arrow-next { + display: inline-block; + margin-left: 1ch +} + +.block-post-navigation-link .block-post-navigation-link__arrow-next:not(.is-arrow-chevron) { + transform: scaleX(1) +} + +.block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"], +.block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"] { + rotate: 180deg +} + +.block-post-terms { + box-sizing: border-box +} + +.block-post-terms .block-post-terms__separator { + white-space: pre-wrap +} + +.block-post-time-to-read, +.block-post-title { + box-sizing: border-box +} + +.block-post-title { + word-break: break-word +} + +.block-post-title a { + display: inline-block +} + +.block-preformatted { + box-sizing: border-box; + white-space: pre-wrap +} + +:where(.block-preformatted.has-background) { + padding: 1.25em 2.375em +} + +.block-pullquote { + box-sizing: border-box; + overflow-wrap: break-word; + padding: 3em 0; + text-align: center +} + +.block-pullquote blockquote, +.block-pullquote cite, +.block-pullquote p { + color: inherit +} + +.block-pullquote.alignleft, +.block-pullquote.alignright { + max-width: 420px +} + +.block-pullquote cite, +.block-pullquote footer { + position: relative +} + +.block-pullquote .has-text-color a { + color: inherit +} + +:where(.block-pullquote) { + margin: 0 0 1em +} + +.block-pullquote.has-text-align-left blockquote { + text-align: left +} + +.block-pullquote.has-text-align-right blockquote { + text-align: right +} + +.block-pullquote.is-style-solid-color { + border: none +} + +.block-pullquote.is-style-solid-color blockquote { + margin-left: auto; + margin-right: auto; + max-width: 60% +} + +.block-pullquote.is-style-solid-color blockquote p { + font-size: 2em; + margin-bottom: 0; + margin-top: 0 +} + +.block-pullquote.is-style-solid-color blockquote cite { + font-style: normal; + text-transform: none +} + +.block-pullquote cite { + color: inherit +} + +.block-post-template { + list-style: none; + margin-bottom: 0; + margin-top: 0; + max-width: 100%; + padding: 0 +} + +.block-post-template.block-post-template { + background: none +} + +.block-post-template.is-flex-container { + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 1.25em +} + +.block-post-template.is-flex-container>li { + margin: 0; + width: 100% +} + +@media (min-width:600px) { + .block-post-template.is-flex-container.is-flex-container.columns-2>li { + width: calc(50% - .625em) + } + + .block-post-template.is-flex-container.is-flex-container.columns-3>li { + width: calc(33.33333% - .83333em) + } + + .block-post-template.is-flex-container.is-flex-container.columns-4>li { + width: calc(25% - .9375em) + } + + .block-post-template.is-flex-container.is-flex-container.columns-5>li { + width: calc(20% - 1em) + } + + .block-post-template.is-flex-container.is-flex-container.columns-6>li { + width: calc(16.66667% - 1.04167em) + } +} + +@media (max-width:600px) { + .block-post-template-is-layout-grid.block-post-template-is-layout-grid.block-post-template-is-layout-grid.block-post-template-is-layout-grid { + grid-template-columns: 1fr + } +} + +.block-post-template-is-layout-constrained>li>.alignright, +.block-post-template-is-layout-flow>li>.alignright { + -webkit-margin-start: 2em; + -webkit-margin-end: 0; + float: right; + margin-inline-end: 0; + margin-inline-start: 2em +} + +.block-post-template-is-layout-constrained>li>.alignleft, +.block-post-template-is-layout-flow>li>.alignleft { + -webkit-margin-start: 0; + -webkit-margin-end: 2em; + float: left; + margin-inline-end: 2em; + margin-inline-start: 0 +} + +.block-post-template-is-layout-constrained>li>.aligncenter, +.block-post-template-is-layout-flow>li>.aligncenter { + -webkit-margin-start: auto; + -webkit-margin-end: auto; + margin-inline-end: auto; + margin-inline-start: auto +} + +.block-query-pagination>.block-query-pagination-next, +.block-query-pagination>.block-query-pagination-numbers, +.block-query-pagination>.block-query-pagination-previous { + margin-bottom: .5em; + margin-right: .5em +} + +.block-query-pagination>.block-query-pagination-next:last-child, +.block-query-pagination>.block-query-pagination-numbers:last-child, +.block-query-pagination>.block-query-pagination-previous:last-child { + margin-right: 0 +} + +.block-query-pagination.is-content-justification-space-between>.block-query-pagination-next:last-of-type { + -webkit-margin-start: auto; + margin-inline-start: auto +} + +.block-query-pagination.is-content-justification-space-between>.block-query-pagination-previous:first-child { + -webkit-margin-end: auto; + margin-inline-end: auto +} + +.block-query-pagination .block-query-pagination-previous-arrow { + display: inline-block; + margin-right: 1ch +} + +.block-query-pagination .block-query-pagination-previous-arrow:not(.is-arrow-chevron) { + transform: scaleX(1) +} + +.block-query-pagination .block-query-pagination-next-arrow { + display: inline-block; + margin-left: 1ch +} + +.block-query-pagination .block-query-pagination-next-arrow:not(.is-arrow-chevron) { + transform: scaleX(1) +} + +.block-query-pagination.aligncenter { + justify-content: center +} + +.block-query-title, +.block-quote { + box-sizing: border-box +} + +.block-quote { + overflow-wrap: break-word +} + +.block-quote.is-large:where(:not(.is-style-plain)), +.block-quote.is-style-large:where(:not(.is-style-plain)) { + margin-bottom: 1em; + padding: 0 1em +} + +.block-quote.is-large:where(:not(.is-style-plain)) p, +.block-quote.is-style-large:where(:not(.is-style-plain)) p { + font-size: 1.5em; + font-style: italic; + line-height: 1.6 +} + +.block-quote.is-large:where(:not(.is-style-plain)) cite, +.block-quote.is-large:where(:not(.is-style-plain)) footer, +.block-quote.is-style-large:where(:not(.is-style-plain)) cite, +.block-quote.is-style-large:where(:not(.is-style-plain)) footer { + font-size: 1.125em; + text-align: right +} + +.block-read-more { + display: block; + width: -moz-fit-content; + width: fit-content +} + +.block-read-more:not([style*=text-decoration]), +.block-read-more:not([style*=text-decoration]):active, +.block-read-more:not([style*=text-decoration]):focus { + text-decoration: none +} + +ul.block-rss { + list-style: none; + padding: 0 +} + +ul.block-rss.block-rss { + box-sizing: border-box +} + +ul.block-rss.alignleft { + margin-right: 2em +} + +ul.block-rss.alignright { + margin-left: 2em +} + +ul.block-rss.is-grid { + display: flex; + flex-wrap: wrap; + list-style: none; + padding: 0 +} + +ul.block-rss.is-grid li { + margin: 0 1em 1em 0; + width: 100% +} + +@media (min-width:600px) { + ul.block-rss.columns-2 li { + width: calc(50% - 1em) + } + + ul.block-rss.columns-3 li { + width: calc(33.33333% - 1em) + } + + ul.block-rss.columns-4 li { + width: calc(25% - 1em) + } + + ul.block-rss.columns-5 li { + width: calc(20% - 1em) + } + + ul.block-rss.columns-6 li { + width: calc(16.66667% - 1em) + } +} + +.block-rss__item-author, +.block-rss__item-publish-date { + display: block; + font-size: .8125em +} + +.block-search__button { + margin-left: 10px; + word-break: normal +} + +.block-search__button.has-icon { + line-height: 0 +} + +.block-search__button svg { + fill: currentColor; + min-height: 24px; + min-width: 24px; + vertical-align: text-bottom +} + +:where(.block-search__button) { + border: 1px solid #ccc; + padding: 6px 10px +} + +.block-search__inside-wrapper { + display: flex; + flex: auto; + flex-wrap: nowrap; + max-width: 100% +} + +.block-search__label { + width: 100% +} + +.block-search__input { + -webkit-appearance: initial; + appearance: none; + border: 1px solid #949494; + flex-grow: 1; + margin-left: 0; + margin-right: 0; + min-width: 3rem; + padding: 8px; + text-decoration: unset !important +} + +.block-search.block-search__button-only .block-search__button { + flex-shrink: 0; + margin-left: 0; + max-width: calc(100% - 100px) +} + +:where(.block-search__button-inside .block-search__inside-wrapper) { + border: 1px solid #949494; + box-sizing: border-box; + padding: 4px +} + +:where(.block-search__button-inside .block-search__inside-wrapper) .block-search__input { + border: none; + border-radius: 0; + padding: 0 4px +} + +:where(.block-search__button-inside .block-search__inside-wrapper) .block-search__input:focus { + outline: none +} + +:where(.block-search__button-inside .block-search__inside-wrapper) :where(.block-search__button) { + padding: 4px 8px +} + +.block-search.aligncenter .block-search__inside-wrapper { + margin: auto +} + +.block-search__button-behavior-expand .block-search__inside-wrapper { + min-width: 0 !important; + transition-property: width +} + +.block-search__button-behavior-expand .block-search__input { + flex-basis: 100%; + transition-duration: .3s +} + +.block-search__button-behavior-expand.block-search__searchfield-hidden, +.block-search__button-behavior-expand.block-search__searchfield-hidden .block-search__inside-wrapper { + overflow: hidden +} + +.block-search__button-behavior-expand.block-search__searchfield-hidden .block-search__input { + border-left-width: 0 !important; + border-right-width: 0 !important; + flex-basis: 0; + flex-grow: 0; + margin: 0; + min-width: 0 !important; + padding-left: 0 !important; + padding-right: 0 !important; + width: 0 !important +} + +.block[data-align=right] .block-search__button-behavior-expand .block-search__inside-wrapper { + float: right +} + +.block-separator { + border: 1px solid; + border-left: none; + border-right: none +} + +.block-separator.is-style-dots { + background: none !important; + border: none; + height: auto; + line-height: 1; + text-align: center +} + +.block-separator.is-style-dots:before { + color: currentColor; + content: "···"; + font-family: serif; + font-size: 1.5em; + letter-spacing: 2em; + padding-left: 2em +} + +.block-site-logo { + box-sizing: border-box; + line-height: 0 +} + +.block-site-logo a { + display: inline-block; + line-height: 0 +} + +.block-site-logo.is-default-size img { + height: auto; + width: 120px +} + +.block-site-logo img { + height: auto; + max-width: 100% +} + +.block-site-logo a, +.block-site-logo img { + border-radius: inherit +} + +.block-site-logo.aligncenter { + margin-left: auto; + margin-right: auto; + text-align: center +} + +.block-site-logo.is-style-rounded { + border-radius: 9999px +} + +.block-site-title a { + color: inherit +} + +.block-social-link { + border-radius: 9999px; + display: block; + height: auto; + transition: transform .1s ease +} + +@media (prefers-reduced-motion:reduce) { + .block-social-link { + transition-delay: 0s; + transition-duration: 0s + } +} + +.block-social-link a { + align-items: center; + display: flex; + line-height: 0; + transition: transform .1s ease +} + +.block-social-link:hover { + transform: scale(1.1) +} + +.block-spacer { + clear: both +} + +.block-tag-cloud { + box-sizing: border-box +} + +.block-tag-cloud.aligncenter { + justify-content: center; + text-align: center +} + +.block-tag-cloud.alignfull { + padding-left: 1em; + padding-right: 1em +} + +.block-tag-cloud a { + display: inline-block; + margin-right: 5px +} + +.block-tag-cloud span { + display: inline-block; + margin-left: 5px; + text-decoration: none +} + +.block-tag-cloud.is-style-outline { + display: flex; + flex-wrap: wrap; + gap: 1ch +} + +.block-tag-cloud.is-style-outline a { + border: 1px solid; + font-size: unset !important; + margin-right: 0; + padding: 1ch 2ch; + text-decoration: none !important +} + +.block-table { + overflow-x: auto +} + +.block-table table { + border-collapse: collapse; + width: 100% +} + +.block-table thead { + border-bottom: 3px solid +} + +.block-table tfoot { + border-top: 3px solid +} + +.block-table td, +.block-table th { + border: 1px solid; + padding: .5em +} + +.block-table .has-fixed-layout { + table-layout: fixed; + width: 100% +} + +.block-table .has-fixed-layout td, +.block-table .has-fixed-layout th { + word-break: break-word +} + +.block-table.aligncenter, +.block-table.alignleft, +.block-table.alignright { + display: table; + width: auto +} + +.block-table.aligncenter td, +.block-table.aligncenter th, +.block-table.alignleft td, +.block-table.alignleft th, +.block-table.alignright td, +.block-table.alignright th { + word-break: break-word +} + +.block-table .has-subtle-light-gray-background-color { + background-color: #f3f4f5 +} + +.block-table .has-subtle-pale-green-background-color { + background-color: #e9fbe5 +} + +.block-table .has-subtle-pale-blue-background-color { + background-color: #e7f5fe +} + +.block-table .has-subtle-pale-pink-background-color { + background-color: #fcf0ef +} + +.block-table.is-style-stripes { + background-color: transparent; + border-bottom: 1px solid #f0f0f0; + border-collapse: inherit; + border-spacing: 0 +} + +.block-table.is-style-stripes tbody tr:nth-child(odd) { + background-color: #f0f0f0 +} + +.block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) { + background-color: #f3f4f5 +} + +.block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) { + background-color: #e9fbe5 +} + +.block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) { + background-color: #e7f5fe +} + +.block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) { + background-color: #fcf0ef +} + +.block-table.is-style-stripes td, +.block-table.is-style-stripes th { + border-color: transparent +} + +.block-table .has-border-color td, +.block-table .has-border-color th, +.block-table .has-border-color tr, +.block-table .has-border-color>* { + border-color: inherit +} + +.block-table table[style*=border-top-color] tr:first-child, +.block-table table[style*=border-top-color] tr:first-child td, +.block-table table[style*=border-top-color] tr:first-child th, +.block-table table[style*=border-top-color]>*, +.block-table table[style*=border-top-color]>* td, +.block-table table[style*=border-top-color]>* th { + border-top-color: inherit +} + +.block-table table[style*=border-top-color] tr:not(:first-child) { + border-top-color: currentColor +} + +.block-table table[style*=border-right-color] td:last-child, +.block-table table[style*=border-right-color] th, +.block-table table[style*=border-right-color] tr, +.block-table table[style*=border-right-color]>* { + border-right-color: inherit +} + +.block-table table[style*=border-bottom-color] tr:last-child, +.block-table table[style*=border-bottom-color] tr:last-child td, +.block-table table[style*=border-bottom-color] tr:last-child th, +.block-table table[style*=border-bottom-color]>*, +.block-table table[style*=border-bottom-color]>* td, +.block-table table[style*=border-bottom-color]>* th { + border-bottom-color: inherit +} + +.block-table table[style*=border-bottom-color] tr:not(:last-child) { + border-bottom-color: currentColor +} + +.block-table table[style*=border-left-color] td:first-child, +.block-table table[style*=border-left-color] th, +.block-table table[style*=border-left-color] tr, +.block-table table[style*=border-left-color]>* { + border-left-color: inherit +} + +.block-table table[style*=border-style] td, +.block-table table[style*=border-style] th, +.block-table table[style*=border-style] tr, +.block-table table[style*=border-style]>* { + border-style: inherit +} + +.block-table table[style*=border-width] td, +.block-table table[style*=border-width] th, +.block-table table[style*=border-width] tr, +.block-table table[style*=border-width]>* { + border-style: inherit; + border-width: inherit +} + +:where(.block-term-description) { + margin-bottom: var(---style--block-gap); + margin-top: var(---style--block-gap) +} + +.block-term-description p { + margin-bottom: 0; + margin-top: 0 +} + +.block-text-columns, +.block-text-columns.aligncenter { + display: flex +} + +.block-text-columns .block-column { + margin: 0 1em; + padding: 0 +} + +.block-text-columns .block-column:first-child { + margin-left: 0 +} + +.block-text-columns .block-column:last-child { + margin-right: 0 +} + +.block-text-columns.columns-2 .block-column { + width: 50% +} + +.block-text-columns.columns-3 .block-column { + width: 33.33333% +} + +.block-text-columns.columns-4 .block-column { + width: 25% +} + +pre.block-verse { + overflow: auto; + white-space: pre-wrap +} + +:where(pre.block-verse) { + font-family: inherit +} + +.block-video { + box-sizing: border-box +} + +.block-video video { + vertical-align: middle; + width: 100% +} + +@supports (position:sticky) { + .block-video [poster] { + object-fit: cover + } +} + +.block-video.aligncenter { + text-align: center +} + +.block-video figcaption { + margin-bottom: 1em; + margin-top: .5em +} + +.editor-styles-wrapper, +.entry-content { + counter-reset: footnotes +} + +a[data-fn].fn { + counter-increment: footnotes; + display: inline-flex; + font-size: smaller; + text-decoration: none; + text-indent: -9999999px; + vertical-align: super +} + +a[data-fn].fn:after { + content: "["counter(footnotes) "]"; + float: left; + text-indent: 0 +} + +.element-button { + cursor: pointer +} + +:root { + ---preset--font-size--normal: 16px; + ---preset--font-size--huge: 42px +} + +:root .has-very-light-gray-background-color { + background-color: #eee +} + +:root .has-very-dark-gray-background-color { + background-color: #313131 +} + +:root .has-very-light-gray-color { + color: #eee +} + +:root .has-very-dark-gray-color { + color: #313131 +} + +:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { + background: linear-gradient(135deg, #00d084, #0693e3) +} + +:root .has-purple-crush-gradient-background { + background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe) +} + +:root .has-hazy-dawn-gradient-background { + background: linear-gradient(135deg, #faaca8, #dad0ec) +} + +:root .has-subdued-olive-gradient-background { + background: linear-gradient(135deg, #fafae1, #67a671) +} + +:root .has-atomic-cream-gradient-background { + background: linear-gradient(135deg, #fdd79a, #004a59) +} + +:root .has-nightshade-gradient-background { + background: linear-gradient(135deg, #330968, #31cdcf) +} + +:root .has-midnight-gradient-background { + background: linear-gradient(135deg, #020381, #2874fc) +} + +.has-regular-font-size { + font-size: 1em +} + +.has-larger-font-size { + font-size: 2.625em +} + +.has-normal-font-size { + font-size: var(---preset--font-size--normal) +} + +.has-huge-font-size { + font-size: var(---preset--font-size--huge) +} + +.has-text-align-center { + text-align: center +} + +.has-text-align-left { + text-align: left +} + +.has-text-align-right { + text-align: right +} + +#end-resizable-editor-section { + display: none +} + +.aligncenter { + clear: both +} + +.items-justified-left { + justify-content: flex-start +} + +.items-justified-center { + justify-content: center +} + +.items-justified-right { + justify-content: flex-end +} + +.items-justified-space-between { + justify-content: space-between +} + +.screen-reader-text { + clip: rect(1px, 1px, 1px, 1px); + word-wrap: normal !important; + border: 0; + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px +} + +.screen-reader-text:focus { + clip: auto !important; + background-color: #ddd; + -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 +} + +html :where(.has-border-color) { + border-style: solid +} + +html :where([style*=border-top-color]) { + border-top-style: solid +} + +html :where([style*=border-right-color]) { + border-right-style: solid +} + +html :where([style*=border-bottom-color]) { + border-bottom-style: solid +} + +html :where([style*=border-left-color]) { + border-left-style: solid +} + +html :where([style*=border-width]) { + border-style: solid +} + +html :where([style*=border-top-width]) { + border-top-style: solid +} + +html :where([style*=border-right-width]) { + border-right-style: solid +} + +html :where([style*=border-bottom-width]) { + border-bottom-style: solid +} + +html :where([style*=border-left-width]) { + border-left-style: solid +} + +html :where(img[class*=image-]) { + height: auto; + max-width: 100% +} + +:where(figure) { + margin: 0 0 1em +} + +.block-audio figcaption { + color: #555; + font-size: 13px; + text-align: center +} + +.block-audio { + margin: 0 0 1em +} + +.block-code { + border: 1px solid #ccc; + border-radius: 4px; + font-family: Menlo, Consolas, monaco, monospace; + padding: .8em 1em +} + +.block-embed figcaption { + color: #555; + font-size: 13px; + text-align: center +} + +.block-embed { + margin: 0 0 1em +} + +.blocks-gallery-caption { + color: #555; + font-size: 13px; + text-align: center +} + +.block-image figcaption { + color: var(--text-color); + font-size: 13px; + text-align: center +} + +.block-image { + margin: 0 0 1em +} + +.block-pullquote { + border-bottom: 4px solid; + border-top: 4px solid; + color: currentColor; + margin-bottom: 1.75em +} + +.block-pullquote cite, +.block-pullquote footer, +.block-pullquote__citation { + color: currentColor; + font-size: .8125em; + font-style: normal; + text-transform: uppercase +} + +.block-quote { + border-left: .25em solid; + margin: 0 0 1.75em; + padding-left: 1em +} + +.block-quote cite, +.block-quote footer { + color: currentColor; + font-size: .8125em; + font-style: normal; + position: relative +} + +.block-quote.has-text-align-right { + border-left: none; + border-right: .25em solid; + padding-left: 0; + padding-right: 1em +} + +.block-quote.has-text-align-center { + border: none; + padding-left: 0 +} + +.block-quote.is-large, +.block-quote.is-style-large, +.block-quote.is-style-plain { + border: none +} + +.block-search .block-search__label { + font-weight: 700 +} + +.block-search__button { + border: 1px solid #ccc; + padding: .375em .625em +} + +:where(.block-group.has-background) { + padding: 1.25em 2.375em +} + +.block-separator.has-css-opacity { + opacity: .4 +} + +.block-separator { + border: none; + border-bottom: 2px solid; + margin-left: auto; + margin-right: auto +} + +.block-separator.has-alpha-channel-opacity { + opacity: 1 +} + +.block-separator:not(.is-style-wide):not(.is-style-dots) { + width: 100px +} + +.block-separator.has-background:not(.is-style-dots) { + border-bottom: none; + height: 1px +} + +.block-separator.has-background:not(.is-style-wide):not(.is-style-dots) { + height: 2px +} + +.block-table { + margin: 0 0 1em +} + +.block-table td, +.block-table th { + word-break: normal +} + +.block-table figcaption { + color: #555; + font-size: 13px; + text-align: center +} + +body { + ---preset--color--black: #000000; + ---preset--color--cyan-bluish-gray: #abb8c3; + ---preset--color--white: #ffffff; + ---preset--color--pale-pink: #f78da7; + ---preset--color--vivid-red: #cf2e2e; + ---preset--color--luminous-vivid-orange: #ff6900; + ---preset--color--luminous-vivid-amber: #fcb900; + ---preset--color--light-green-cyan: #7bdcb5; + ---preset--color--vivid-green-cyan: #00d084; + ---preset--color--pale-cyan-blue: #8ed1fc; + ---preset--color--vivid-cyan-blue: #0693e3; + ---preset--color--vivid-purple: #9b51e0; + ---preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, rgb(155, 81, 224) 100%); + ---preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%); + ---preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgba(252, 185, 0, 1) 0%, rgba(255, 105, 0, 1) 100%); + ---preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgb(207, 46, 46) 100%); + ---preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%); + ---preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%); + ---preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%); + ---preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%); + ---preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%); + ---preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%); + ---preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%); + ---preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%); + ---preset--font-size--small: 13px; + ---preset--font-size--medium: 20px; + ---preset--font-size--large: 36px; + ---preset--font-size--x-large: 42px; + ---preset--spacing--20: 0.44rem; + ---preset--spacing--30: 0.67rem; + ---preset--spacing--40: 1rem; + ---preset--spacing--50: 1.5rem; + ---preset--spacing--60: 2.25rem; + ---preset--spacing--70: 3.38rem; + ---preset--spacing--80: 5.06rem; + ---preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2); + ---preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4); + ---preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2); + ---preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1); + ---preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1); +} + +:where(.is-layout-flex) { + gap: 0.5em; +} + +:where(.is-layout-grid) { + gap: 0.5em; +} + +body .is-layout-flow>.alignleft { + float: left; + margin-inline-start: 0; + margin-inline-end: 2em; +} + +body .is-layout-flow>.alignright { + float: right; + margin-inline-start: 2em; + margin-inline-end: 0; +} + +body .is-layout-flow>.aligncenter { + margin-left: auto !important; + margin-right: auto !important; +} + +body .is-layout-constrained>.alignleft { + float: left; + margin-inline-start: 0; + margin-inline-end: 2em; +} + +body .is-layout-constrained>.alignright { + float: right; + margin-inline-start: 2em; + margin-inline-end: 0; +} + +body .is-layout-constrained>.aligncenter { + margin-left: auto !important; + margin-right: auto !important; +} + +body .is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) { + max-width: var(---style--global--content-size); + margin-left: auto !important; + margin-right: auto !important; +} + +body .is-layout-constrained>.alignwide { + max-width: var(---style--global--wide-size); +} + +body .is-layout-flex { + display: flex; +} + +body .is-layout-flex { + flex-wrap: wrap; + align-items: center; +} + +body .is-layout-flex>* { + margin: 0; +} + +body .is-layout-grid { + display: grid; +} + +body .is-layout-grid>* { + margin: 0; +} + +:where(.block-columns.is-layout-flex) { + gap: 2em; +} + +:where(.block-columns.is-layout-grid) { + gap: 2em; +} + +:where(.block-post-template.is-layout-flex) { + gap: 1.25em; +} + +:where(.block-post-template.is-layout-grid) { + gap: 1.25em; +} + +.has-black-color { + color: var(---preset--color--black) !important; +} + +.has-cyan-bluish-gray-color { + color: var(---preset--color--cyan-bluish-gray) !important; +} + +.has-white-color { + color: var(---preset--color--white) !important; +} + +.has-pale-pink-color { + color: var(---preset--color--pale-pink) !important; +} + +.has-vivid-red-color { + color: var(---preset--color--vivid-red) !important; +} + +.has-luminous-vivid-orange-color { + color: var(---preset--color--luminous-vivid-orange) !important; +} + +.has-luminous-vivid-amber-color { + color: var(---preset--color--luminous-vivid-amber) !important; +} + +.has-light-green-cyan-color { + color: var(---preset--color--light-green-cyan) !important; +} + +.has-vivid-green-cyan-color { + color: var(---preset--color--vivid-green-cyan) !important; +} + +.has-pale-cyan-blue-color { + color: var(---preset--color--pale-cyan-blue) !important; +} + +.has-vivid-cyan-blue-color { + color: var(---preset--color--vivid-cyan-blue) !important; +} + +.has-vivid-purple-color { + color: var(---preset--color--vivid-purple) !important; +} + +.has-black-background-color { + background-color: var(---preset--color--black) !important; +} + +.has-cyan-bluish-gray-background-color { + background-color: var(---preset--color--cyan-bluish-gray) !important; +} + +.has-white-background-color { + background-color: var(---preset--color--white) !important; +} + +.has-pale-pink-background-color { + background-color: var(---preset--color--pale-pink) !important; +} + +.has-vivid-red-background-color { + background-color: var(---preset--color--vivid-red) !important; +} + +.has-luminous-vivid-orange-background-color { + background-color: var(---preset--color--luminous-vivid-orange) !important; +} + +.has-luminous-vivid-amber-background-color { + background-color: var(---preset--color--luminous-vivid-amber) !important; +} + +.has-light-green-cyan-background-color { + background-color: var(---preset--color--light-green-cyan) !important; +} + +.has-vivid-green-cyan-background-color { + background-color: var(---preset--color--vivid-green-cyan) !important; +} + +.has-pale-cyan-blue-background-color { + background-color: var(---preset--color--pale-cyan-blue) !important; +} + +.has-vivid-cyan-blue-background-color { + background-color: var(---preset--color--vivid-cyan-blue) !important; +} + +.has-vivid-purple-background-color { + background-color: var(---preset--color--vivid-purple) !important; +} + +.has-black-border-color { + border-color: var(---preset--color--black) !important; +} + +.has-cyan-bluish-gray-border-color { + border-color: var(---preset--color--cyan-bluish-gray) !important; +} + +.has-white-border-color { + border-color: var(---preset--color--white) !important; +} + +.has-pale-pink-border-color { + border-color: var(---preset--color--pale-pink) !important; +} + +.has-vivid-red-border-color { + border-color: var(---preset--color--vivid-red) !important; +} + +.has-luminous-vivid-orange-border-color { + border-color: var(---preset--color--luminous-vivid-orange) !important; +} + +.has-luminous-vivid-amber-border-color { + border-color: var(---preset--color--luminous-vivid-amber) !important; +} + +.has-light-green-cyan-border-color { + border-color: var(---preset--color--light-green-cyan) !important; +} + +.has-vivid-green-cyan-border-color { + border-color: var(---preset--color--vivid-green-cyan) !important; +} + +.has-pale-cyan-blue-border-color { + border-color: var(---preset--color--pale-cyan-blue) !important; +} + +.has-vivid-cyan-blue-border-color { + border-color: var(---preset--color--vivid-cyan-blue) !important; +} + +.has-vivid-purple-border-color { + border-color: var(---preset--color--vivid-purple) !important; +} + +.has-vivid-cyan-blue-to-vivid-purple-gradient-background { + background: var(---preset--gradient--vivid-cyan-blue-to-vivid-purple) !important; +} + +.has-light-green-cyan-to-vivid-green-cyan-gradient-background { + background: var(---preset--gradient--light-green-cyan-to-vivid-green-cyan) !important; +} + +.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { + background: var(---preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important; +} + +.has-luminous-vivid-orange-to-vivid-red-gradient-background { + background: var(---preset--gradient--luminous-vivid-orange-to-vivid-red) !important; +} + +.has-very-light-gray-to-cyan-bluish-gray-gradient-background { + background: var(---preset--gradient--very-light-gray-to-cyan-bluish-gray) !important; +} + +.has-cool-to-warm-spectrum-gradient-background { + background: var(---preset--gradient--cool-to-warm-spectrum) !important; +} + +.has-blush-light-purple-gradient-background { + background: var(---preset--gradient--blush-light-purple) !important; +} + +.has-blush-bordeaux-gradient-background { + background: var(---preset--gradient--blush-bordeaux) !important; +} + +.has-luminous-dusk-gradient-background { + background: var(---preset--gradient--luminous-dusk) !important; +} + +.has-pale-ocean-gradient-background { + background: var(---preset--gradient--pale-ocean) !important; +} + +.has-electric-grass-gradient-background { + background: var(---preset--gradient--electric-grass) !important; +} + +.has-midnight-gradient-background { + background: var(---preset--gradient--midnight) !important; +} + +.has-small-font-size { + font-size: var(---preset--font-size--small) !important; +} + +.has-medium-font-size { + font-size: var(---preset--font-size--medium) !important; +} + +.has-large-font-size { + font-size: var(---preset--font-size--large) !important; +} + +.has-x-large-font-size { + font-size: var(---preset--font-size--x-large) !important; +} + +.block-navigation a:where(:not(.element-button)) { + color: inherit; +} + +:where(.block-post-template.is-layout-flex) { + gap: 1.25em; +} + +:where(.block-post-template.is-layout-grid) { + gap: 1.25em; +} + +:where(.block-columns.is-layout-flex) { + gap: 2em; +} + +:where(.block-columns.is-layout-grid) { + gap: 2em; +} + +.block-pullquote { + font-size: 1.5em; + line-height: 1.6; +} \ No newline at end of file diff --git a/assets/scss/template-styles.scss b/assets/scss/template-styles.scss new file mode 100644 index 0000000..ef51c2e --- /dev/null +++ b/assets/scss/template-styles.scss @@ -0,0 +1,12 @@ +@charset "UTF-8"; +/* +Cook The Books v2.1.0 +Licensed under CC BY-SA 4.0 +Copyright 2022-2024 Oldgate Studios +Copyright 2019-2024 ScriptsTown +Copyright 2003-2024 The WordPress.org Team +*/ +@import 'fonts'; +@import 'custom'; +@import 'pressbook'; +@import 'wordpress'; \ No newline at end of file diff --git a/data/principles.json b/data/principles.json new file mode 100644 index 0000000..9864138 --- /dev/null +++ b/data/principles.json @@ -0,0 +1,149 @@ +{ + "title": "Inclusive Design Principles", + "description": "

These Inclusive Design Principles are about putting people first. It's about designing for the needs of people with permanent, temporary, situational, or changing disabilities — all of us really.

They are intended to give anyone involved in the design and development of websites and applications - designers, user experience professionals, developers, product owners, idea makers, innovators, artists and thinkers - a broad approach to inclusive design.

For more background, read about the Inclusive Design Principles on the TPG blog.

", + "authors": [ + "Léonie Watson", + "Henny Swan", + "Ian Pouncey", + "Heydon Pickering" + ], + "principles": [ + { + "title": "Provide comparable experience", + "strapline": "Ensure your interface provides a comparable experience for all so people can accomplish tasks in a way that suits their needs without undermining the quality of the content.", + "description": "Whether out of circumstance, choice, or context people are diverse. As people use different approaches and tools to read and operate interfaces, what the interface offers each user should be comparable in value, quality, and efficiency.", + "examples": [ + { + "title": "Content for alternatives", + "description": "Having a basic alternative, whether it's alt text, a transcript, audio description, or sign language, makes the content accessible but to be equivalent it needs to capture the essence of the original." + }, + { + "title": "Ergonomic features", + "description": "Providing synchronized closed captions makes your video accessible. But making them customizable, color coded, and repositionable provides a more comparable experience." + }, + { + "title": "Notifications", + "description": "Notifications that appear in an interface are visually obvious but require proactive discovery by screen reader users. A comparable experience for blind users, can be achieved by using a live region. The notification then requires no explicit action on the part of the user." + } + ] + }, + { + "title": "Consider situation", + "strapline": "People use your interface in different situations. Make sure your interface delivers a valuable experience to people regardless of their circumstances.", + "description": "People are first time users, established users, users at work, users at home, users on the move, and users under pressure. All of these situations can have an impact. For those who already find interaction challenging, such as those with disabilities, this impact may make usage particularly difficult.", + "examples": [ + { + "title": "Colour contrast", + "description": "When using an interface outdoors, good contrast lessens the impact of bright sunshine." + }, + { + "title": "Context sensitive help", + "description": "Users may need help when they first encounter a complex form or interaction. This help may become redundant, even distracting, as a user becomes more familiar with the form or interaction. Context sensitive help provides the user with choice as to when they access help and better control over the page." + }, + { + "title": "Captions on the go", + "description": "You're aware that the video content you are providing will be consumed on mobile devices, which may be in public spaces where people might prefer to consume the content without being antisocial. For smaller viewports, sound is switched off and captions activated by default." + } + ] + }, + { + "title": "Be consistent", + "strapline": "Use familiar conventions and apply them consistently.", + "description": "Familiar interfaces borrow from well-established patterns. These should be used consistently within the interface to reinforce their meaning and purpose. This should be applied to functionality, behavior, editorial, and presentation. You should say the same things in the same way and users should be able to do the same things in the same way.", + "examples": [ + { + "title": "Consistent design patterns", + "description": "Use consistent web and platform design patterns to help build familiarity and understanding." + }, + { + "title": "Consistent editorial", + "description": "Use plain language consistently across platforms including editorial that is relied on by screen reader users such as text alternatives, headings, labels for buttons and so on. Keeping editorial style consistent is also important e.g. making sure the top of the article always has a clearly marked summary paragraph, making sure bullets always start with a bolded definition." + }, + { + "title": "Consistent page architecture", + "description": "Use consistent page architecture across templates to help people scan and navigate key content." + } + ] + }, + { + "title": "Give control", + "strapline": "Ensure people are in control. People should be able to access and interact with content in their preferred way.", + "description": "Do not suppress or disable the ability to change standard browser and platform settings such as orientation, font size, zoom, and contrast. In addition, avoid content changes that have not been initiated by the user unless there is a way to control it.", + "examples": [ + { + "title": "Scrolling control", + "description": "'Infinite scrolling' can be problematic, especially for users navigating by keyboard because they can't get past the stream of refreshing content. Give the option to turn off this feature and replace it with a 'load more' button." + }, + { + "title": "Make it stop", + "description": "Some users find that animations or parallax scrolling cause nausea, and others find them plain distracting. Where they play automatically, they should at least be easy to stop, by providing prominent playback controls." + }, + { + "title": "Allow zoom", + "description": "There are many reasons why a user may want to operate the pinch-to-zoom gesture on their touch device. Make sure it is not suppressed, and that the content does not get obscured when it is put to use." + } + ] + }, + { + "title": "Offer choice", + "strapline": "Consider providing different ways for people to complete tasks, especially those that are complex or non standard.", + "description": "There is often more than one way to complete a task. You cannot assume what someone's preferred way might be. By providing alternatives for layout and task completion, you offer people choices that suit them and their circumstances at the time.", + "examples": [ + { + "title" : "Multiple ways to complete an action", + "description": "Where appropriate, provide multiple ways to complete an action. On mobile swipe to delete an item can be supported together with an edit button that allows you to select items then delete. An example of this is in iOS mail." + }, + { + "title": "Layout", + "description": "Where there are long lists of content consider offering a grid or list layout option. This supports people who may want larger images on screen or smaller rows." + }, + { + "title": "Accessible alternatives", + "description": "Alternative ways of presenting data, such as data tables for info graphics, should be available to all users, as an option rather than a hidden link just for screen reader users. Accessible alternatives can benefit not just a specific target group but all users as long as we offer the choice." + } + ] + }, + { + "title": "Prioritise content", + "strapline": "Help users focus on core tasks, features, and information by prioritising them within the content and layout.", + "description": "Interfaces can be difficult to understand when core features are not clearly exposed and prioritised. A site or application may provide lots of information and functionality, but people should be able to focus on one thing at a time. Identify the core purpose of the interface, and then the content and features needed to fulfill that purpose.", + "examples": [ + { + "title": "Keep task focused", + "description": "Progressively reveal features and content when needed, not all in one go." + }, + { + "title": "Prioritising tasks", + "description": "An email application is principally for writing and reading email. The 'compose' button is, therefore, present on all screens, and early in the focus order. The inbox is prioritised over other lists of email, such as 'sent' and 'spam' messages. Less used features such as tagging or organizing email into folders appear later in the focus order, as they will generally only be used when the primary task of reading the email is complete." + }, + { + "title": "Prioritising content", + "description": "The primary content on a news article page is the story, therefore it should come before other content, both visually and in the source order. Related content, such as similar articles, should follow it, and unrelated content after that." + }, + { + "title": "Prioritising editorial", + "description": "Editorial for links, headings and buttons should use plain language and put the primary text first. This applies to both visible and hidden text. This makes the text easy to scan both visually and audibly for screen reader users. Plain language also benefits non native speakers and is easier to translate." + } + ] + }, + { + "title": "Add value", + "strapline": "Consider the value of features and how they improve the experience for different users.", + "description": "Features should add value to the user experience by providing efficient and diverse ways to find and interact with content. Consider device features such as voice, geolocation, camera and vibration API's, and how integration with connected devices or a second screen could provide choice.", + "examples": [ + { + "title": "Integration with connected devices or second screen", + "description": "Using voice interfaces to control multimedia, search for content, output from music or TV adds value for people who struggle to use other interfaces." + }, + { + "title": "Integration with platform APIs", + "description": "Enhance functionality using platform features. The vibration API makes notifications more usable by deaf and hard of hearing people while the geolocation API makes it easier for people with mobility impairments to use location based services." + }, + { + "title": "Make task completion easier", + "description": "Add a 'Show password' button to input fields so users can verify they have correctly inputted text, or add touch identification for password protected areas." + } + ] + } + ] +} diff --git a/data/wcag.json b/data/wcag.json new file mode 100644 index 0000000..8192898 --- /dev/null +++ b/data/wcag.json @@ -0,0 +1,1427 @@ +[ + { + "ref_id": "1.1.1", + "title": "Non-text Content", + "description": "All non-text content that is presented to the user has a text alternative that serves the equivalent purpose, except for the situations listed below. (", + "url": "https://www.w3.org/TR/WCAG20/#text-equiv-all", + "level": "A", + "special_cases": [ + { + "type": "exception", + "title": "Controls, Input", + "description": "If non-text content is a control or accepts user input, then it has a name that describes its purpose. (Refer to Guideline 4.1 for additional requirements for controls and content that accepts user input.)" + }, + { + "type": "exception", + "title": "Time-Based Media", + "description": "If non-text content is time-based media, then text alternatives at least provide descriptive identification of the non-text content. (Refer to Guideline 1.2 for additional requirements for media.)" + }, + { + "type": "exception", + "title": "Test", + "description": "If non-text content is a test or exercise that would be invalid if presented in text, then text alternatives at least provide descriptive identification of the non-text content." + }, + { + "type": "exception", + "title": "Sensory", + "description": "If non-text content is primarily intended to create a specific sensory experience, then text alternatives at least provide descriptive identification of the non-text content." + }, + { + "type": "exception", + "title": "CAPTCHA", + "description": "If the purpose of non-text content is to confirm that content is being accessed by a person rather than a computer, then text alternatives that identify and describe the purpose of the non-text content are provided, and alternative forms of CAPTCHA using output modes for different types of sensory perception are provided to accommodate different disabilities." + }, + { + "type": "exception", + "title": "Decoration, Formatting, Invisible", + "description": "If non-text content is pure decoration, is used only for visual formatting, or is not presented to users, then it is implemented in a way that it can be ignored by assistive technology." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.1.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-text-equiv-all" + }, + { + "title": "Understanding 1.1.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/text-equiv-all.html" + } + ] + }, + { + "ref_id": "1.2.1", + "title": "Audio-only and Video-only (Prerecorded", + "description": "For prerecorded audio-only and prerecorded video-only media, the following are true, except when the audio or video is a media alternative for text and is clearly labeled as such.", + "url": "https://www.w3.org/TR/WCAG20/", + "level": "A", + "special_cases": [ + { + "type": "all_true", + "title": "Prerecorded Audio-only", + "description": "An alternative for time-based media is provided that presents equivalent information for prerecorded audio-only content." + }, + { + "type": "all_true", + "title": "Prerecorded Video-only", + "description": "Either an alternative for time-based media or an audio track is provided that presents equivalent information for prerecorded video-only content" + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-av-only-alt" + }, + { + "title": "Understanding 1.2.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-av-only-alt.html" + } + ] + }, + { + "ref_id": "1.2.2", + "title": "Captions (Prerecorded)", + "description": "Captions are provided for all prerecorded audio content in synchronized media, except when the media is a media alternative for text and is clearly labeled as such", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-captions", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-captions" + }, + { + "title": "Understanding 1.2.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-captions.html" + } + ] + }, + { + "ref_id": "1.2.3", + "title": "Audio Description or Media Alternative (Prerecorded)", + "description": "An alternative for time-based media or audio description of the prerecorded video content is provided for synchronized media, except when the media is a media alternative for text and is clearly labeled as such", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-audio-desc", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-audio-desc" + }, + { + "title": "Understanding 1.2.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-audio-desc.html" + } + ] + }, + { + "ref_id": "1.2.4", + "title": "Captions (Live)", + "description": "Captions are provided for all live audio content in synchronized media", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-real-time-captions", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-real-time-captions" + }, + { + "title": "Understanding 1.2.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-real-time-captions.html" + } + ] + }, + { + "ref_id": "1.2.5", + "title": "Audio Description (Prerecorded)", + "description": "Audio description is provided for all prerecorded video content in synchronized media", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-audio-desc-only", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-audio-desc-only" + }, + { + "title": "Understanding 1.2.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-audio-desc-only.html" + } + ] + }, + { + "ref_id": "1.2.6", + "title": "Sign Language (Prerecorded)", + "description": "Sign language interpretation is provided for all prerecorded audio content in synchronized media.", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-sign", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-sign" + }, + { + "title": "Understanding 1.2.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-sign.html" + } + ] + }, + { + "ref_id": "1.2.7", + "title": "Extended Audio Description (Prerecorded)", + "description": "Where pauses in foreground audio are insufficient to allow audio descriptions to convey the sense of the video, extended audio description is provided for all prerecorded video content in synchronized media", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-extended-ad", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.7", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-extended-ad" + }, + { + "title": "Understanding 1.2.7", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-extended-ad.html" + } + ] + }, + { + "ref_id": "1.2.8", + "title": "Media Alternative (Prerecorded)", + "description": "An alternative for time-based media is provided for all prerecorded synchronized media and for all prerecorded video-only media", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-text-doc", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.8", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-text-doc" + }, + { + "title": "Understanding 1.2.8", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-text-doc.html" + } + ] + }, + { + "ref_id": "1.2.9", + "title": "Audio-only (Live)", + "description": " An alternative for time-based media that presents equivalent information for live audio-only content is provided.", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-live-audio-only", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.9", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-live-audio-only" + }, + { + "title": "Understanding 1.2.9", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-live-audio-only.html" + } + ] + }, + { + "ref_id": "1.3.1", + "title": "Info and Relationships", + "description": "Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.", + "url": "https://www.w3.org/TR/WCAG20/#content-structure-separation-programmatic", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.3.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-content-structure-separation-programmatic" + }, + { + "title": "Understanding 1.3.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-programmatic.html" + } + ] + }, + { + "ref_id": "1.3.2", + "title": "Meaningful Sequence", + "description": "When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined.", + "url": "https://www.w3.org/TR/WCAG20/#content-structure-separation-sequence", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.3.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-content-structure-separation-sequence" + }, + { + "title": "Understanding 1.3.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-sequence.html" + } + ] + }, + { + "ref_id": "1.3.3", + "title": "Sensory Characteristics", + "description": "Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, size, visual location, orientation, or sound", + "url": "https://www.w3.org/TR/WCAG20/#content-structure-separation-understanding", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "For requirements related to color, refer to Guideline 1.4." + } + ], + "references": [ + { + "title": "How to Meet 1.3.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-content-structure-separation-understanding" + }, + { + "title": "Understanding 1.3.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-understanding.html" + } + ] + }, + { + "ref_id": "1.4.1", + "title": "Use of Color", + "description": "Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-without-color", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "This success criterion addresses color perception specifically. Other forms of perception are covered in Guideline 1.3 including programmatic access to color and other visual presentation coding." + } + ], + "references": [ + { + "title": "How to Meet 1.4.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-without-color" + }, + { + "title": "Understanding 1.4.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-without-color.html" + } + ] + }, + { + "ref_id": "1.4.2", + "title": "Audio Control", + "description": "If any audio on a Web page plays automatically for more than 3 seconds, either a mechanism is available to pause or stop the audio, or a mechanism is available to control audio volume independently from the overall system volume level. (Level A)", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-dis-audio", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "Note: Since any content that does not meet this success criterion can interfere with a user's ability to use the whole page, all content on the Web page (whether or not it is used to meet other success criteria) must meet this success criterion. See Conformance Requirement 5: Non-Interference. (https://www.w3.org/TR/WCAG20/#cc5)" + } + ], + "references": [ + { + "title": "How to Meet 1.4.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-dis-audio" + }, + { + "title": "Understanding 1.4.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-dis-audio.html" + } + ] + }, + { + "ref_id": "1.4.3", + "title": "Contrast (Minimum)", + "description": " The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following: ", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast", + "level": "AA", + "special_cases": [ + { + "type": "exception", + "title": "Large Text", + "description": "Large-scale text and images of large-scale text have a contrast ratio of at least 3:1" + }, + { + "type": "exception", + "title": "Incidental", + "description": "Text or images of text that are part of an inactive user interface component, that are pure decoration, that are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast requirement." + }, + { + "type": "exception", + "title": "Logotypes", + "description": "Text that is part of a logo or brand name has no minimum contrast requirement." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.4.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-contrast" + }, + { + "title": "Understanding 1.4.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html" + } + ] + }, + { + "ref_id": "1.4.4", + "title": "Resize text", + "description": "Except for captions and images of text, text can be resized without assistive technology up to 200 percent without loss of content or functionality", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-scale", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.4.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-scale" + }, + { + "title": "Understanding 1.4.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-scale.html" + } + ] + }, + { + "ref_id": "1.4.5", + "title": "Images of Text", + "description": "If the technologies being used can achieve the visual presentation, text is used to convey information rather than images of text except for the following", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-text-presentation", + "level": "AA", + "special_cases": [ + { + "type": "exception", + "title": "Customizable", + "description": "The image of text can be visually customized to the user's requirements" + }, + { + "type": "exception", + "title": "Essential", + "description": "A particular presentation of text is essential to the information being conveyed" + } + ], + "notes": [ + { + "content": "Logotypes (text that is part of a logo or brand name) are considered essential" + } + ], + "references": [ + { + "title": "How to Meet 1.4.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-text-presentation" + }, + { + "title": "Understanding 1.4.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-text-presentation.html" + } + ] + }, + { + "ref_id": "1.4.6", + "title": "Contrast (Enhanced)", + "description": "The visual presentation of text and images of text has a contrast ratio of at least 7:1, except for the following: ", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast7", + "level": "AAA", + "special_cases": [ + { + "type": "exception", + "title": "Large Text", + "description": "Large-scale text and images of large-scale text have a contrast ratio of at least 4.5:1" + }, + { + "type": "exception", + "title": "Text or images of text that are part of an inactive user interface component, that are pure decoration, that are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast requirement.", + "description": "Incidental" + }, + { + "type": "exception", + "title": "Logotypes", + "description": "Text that is part of a logo or brand name has no minimum contrast requirement." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.4.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast7" + }, + { + "title": "Understanding 1.4.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast7.html" + } + ] + }, + { + "ref_id": "1.4.7", + "title": "Low or No Background Audio", + "description": "For prerecorded audio-only content that (1) contains primarily speech in the foreground, (2) is not an audio CAPTCHA or audio logo, and (3) is not vocalization intended to be primarily musical expression such as singing or rapping, at least one of the following is true: (Level AAA)", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-noaudio", + "level": "AAA", + "special_cases": [ + { + "type": "at_least_one", + "title": "No Background", + "description": "The audio does not contain background sounds." + }, + { + "type": "at_least_one", + "title": "Turn Off", + "description": "The background sounds can be turned off." + }, + { + "type": "at_least_one", + "title": "20 dB", + "description": "The background sounds are at least 20 decibels lower than the foreground speech content, with the exception of occasional sounds that last for only one or two seconds." + } + ], + "notes": [ + { + "content": "Per the definition of 'decibel,' background sound that meets this requirement will be approximately four times quieter than the foreground speech content." + } + ], + "references": [ + { + "title": "How to Meet 1.4.7", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-noaudio" + }, + { + "title": "Understanding 1.4.7" + } + ] + }, + { + "ref_id": "1.4.8", + "title": "Visual Presentation", + "description": "For the visual presentation of blocks of text, a mechanism is available to achieve the following:", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-visual-presentation", + "level": "AAA", + "special_cases": [ + { + "type": "all_true", + "title": "Foreground and background colors can be selected by the user." + }, + { + "type": "all_true", + "title": "Width is no more than 80 characters or glyphs (40 if CJK)" + }, + { + "type": "all_true", + "title": "Text is not justified (aligned to both the left and the right margins)." + }, + { + "type": "all_true", + "title": "Line spacing (leading) is at least space-and-a-half within paragraphs, and paragraph spacing is at least 1.5 times larger than the line spacing." + }, + { + "type": "all_true", + "title": "Text can be resized without assistive technology up to 200 percent in a way that does not require the user to scroll horizontally to read a line of text on a full-screen window." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.4.8", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-visual-presentation" + }, + { + "title": "Understanding 1.4.8", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-visual-presentation.html" + } + ] + }, + { + "ref_id": "1.4.9", + "title": "Images of Text (No Exception)", + "description": "Images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", + "url": "https://www.w3.org/TR/WCAG20/", + "level": "AAA", + "special_cases": null, + "notes": [ + { + "content": "Logotypes (text that is part of a logo or brand name) are considered essential." + } + ], + "references": [ + { + "title": "How to Meet 1.4.9", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-text-images" + }, + { + "title": "Understanding 1.4.9", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-text-images.html" + } + ] + }, + { + "ref_id": "2.1.1", + "title": "Keyboard", + "description": "All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints", + "url": "https://www.w3.org/TR/WCAG20/#keyboard-operation-keyboard-operable", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "This exception relates to the underlying function, not the input technique. For example, if using handwriting to enter text, the input technique (handwriting) requires path-dependent input but the underlying function (text input) does not." + }, + { + "content": "This does not forbid and should not discourage providing mouse input or other input methods in addition to keyboard operation." + } + ], + "references": [ + { + "title": "How to Meet 2.1.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-keyboard-operation-keyboard-operable" + }, + { + "title": "Understanding 2.1.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation-keyboard-operable.html" + } + ] + }, + { + "ref_id": "2.1.2", + "title": "No Keyboard Trap", + "description": "If keyboard focus can be moved to a component of the page using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away.", + "url": "https://www.w3.org/TR/WCAG20/#keyboard-operation-trapping", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "Since any content that does not meet this success criterion can interfere with a user's ability to use the whole page, all content on the Web page (whether it is used to meet other success criteria or not) must meet this success criterion. See Conformance Requirement 5: Non-Interference. (https://www.w3.org/TR/WCAG20/#cc5)" + } + ], + "references": [ + { + "title": "How to Meet 2.1.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-keyboard-operation-trapping" + }, + { + "title": "Understanding 2.1.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation-trapping.html" + } + ] + }, + { + "ref_id": "2.1.3", + "title": "Keyboard (No Exception)", + "description": "All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes.", + "url": "https://www.w3.org/TR/WCAG20/#keyboard-operation-all-funcs", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.1.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-keyboard-operation-all-funcs" + }, + { + "title": "Understanding 2.1.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation-all-funcs.html" + } + ] + }, + { + "ref_id": "2.2.1", + "title": "Timing Adjustable", + "description": "For each time limit that is set by the content, at least one of the following is true:", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-required-behaviors", + "level": "A", + "special_cases": [ + { + "type": "at_least_one", + "title": "Turn off", + "description": "The user is allowed to turn off the time limit before encountering it; or" + }, + { + "type": "at_least_one", + "title": "Adjust", + "description": "The user is allowed to adjust the time limit before encountering it over a wide range that is at least ten times the length of the default setting; or" + }, + { + "type": "at_least_one", + "title": "Extend", + "description": "The user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action (for example, 'press the space bar'), and the user is allowed to extend the time limit at least ten times; or" + }, + { + "type": "at_least_one", + "title": "Real-time Exception", + "description": "The time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible; or" + }, + { + "type": "at_least_one", + "title": "Essential Exception", + "description": "The time limit is essential and extending it would invalidate the activity; or" + }, + { + "type": "at_least_one", + "title": "20 Hour Exception", + "description": "The time limit is longer than 20 hours." + } + ], + "notes": [ + { + "content": "This success criterion helps ensure that users can complete tasks without unexpected changes in content or context that are a result of a time limit. This success criterion should be considered in conjunction with Success Criterion 3.2.1 (https://www.w3.org/TR/WCAG20/#consistent-behavior-receive-focus), which puts limits on changes of content or context as a result of user action." + } + ], + "references": [ + { + "title": "How to Meet 2.2.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-required-behaviors" + }, + { + "title": "Understanding 2.2.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-required-behaviors.html" + } + ] + }, + { + "ref_id": "2.2.2", + "title": "Pause, Stop, Hide", + "description": "For moving, blinking, scrolling, or auto-updating information, all of the following are true:", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-pause", + "level": "A", + "special_cases": [ + { + "type": "all_true", + "title": "Moving, blinking, scrolling", + "description": "For any moving, blinking or scrolling information that (1) starts automatically, (2) lasts more than five seconds, and (3) is presented in parallel with other content, there is a mechanism for the user to pause, stop, or hide it unless the movement, blinking, or scrolling is part of an activity where it is essential; and" + }, + { + "type": "all_true", + "title": "Auto-updating", + "description": "For any auto-updating information that (1) starts automatically and (2) is presented in parallel with other content, there is a mechanism for the user to pause, stop, or hide it or to control the frequency of the update unless the auto-updating is part of an activity where it is essential." + } + ], + "notes": [ + { + "content": "For requirements related to flickering or flashing content, refer to Guideline 2.3. (https://www.w3.org/TR/WCAG20/#seizure)" + }, + { + "content": "Since any content that does not meet this success criterion can interfere with a user's ability to use the whole page, all content on the Web page (whether it is used to meet other success criteria or not) must meet this success criterion. See Conformance Requirement 5: Non-Interference (https://www.w3.org/TR/WCAG20/#cc5)" + }, + { + "content": "Content that is updated periodically by software or that is streamed to the user agent is not required to preserve or present information that is generated or received between the initiation of the pause and resuming presentation, as this may not be technically possible, and in many situations could be misleading to do so." + }, + { + "content": "An animation that occurs as part of a preload phase or similar situation can be considered essential if interaction cannot occur during that phase for all users and if not indicating progress could confuse users or cause them to think that content was frozen or broken." + } + ], + "references": [ + { + "title": "How to Meet 2.2.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-pause" + }, + { + "title": "Understanding 2.2.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-pause.html" + } + ] + }, + { + "ref_id": "2.2.3", + "title": "No Timing", + "description": "Timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-no-exceptions", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.2.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-no-exceptions" + }, + { + "title": "Understanding 2.2.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-no-exceptions.html" + } + ] + }, + { + "ref_id": "2.2.4", + "title": "Interruptions", + "description": "Interruptions can be postponed or suppressed by the user, except interruptions involving an emergency.", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-postponed", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.2.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-postponed" + }, + { + "title": "Understanding 2.2.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-postponed.html" + } + ] + }, + { + "ref_id": "2.2.5", + "title": "Re-authenticating", + "description": "When an authenticated session expires, the user can continue the activity without loss of data after re-authenticating.", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-server-timeout", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.2.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-server-timeout" + }, + { + "title": "Understanding 2.2.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-server-timeout.html" + } + ] + }, + { + "ref_id": "2.3.1", + "title": "Three Flashes or Below Threshold", + "description": "Web pages do not contain anything that flashes more than three times in any one second period, or the flash is below the general flash and red flash thresholds", + "url": "https://www.w3.org/TR/WCAG20/#seizure-does-not-violate", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "Since any content that does not meet this success criterion can interfere with a user's ability to use the whole page, all content on the Web page (whether it is used to meet other success criteria or not) must meet this success criterion. See Conformance Requirement 5: Non-Interference. (https://www.w3.org/TR/WCAG20/#cc5)" + } + ], + "references": [ + { + "title": "How to Meet 2.3.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-seizure-does-not-violate" + }, + { + "title": "Understanding 2.3.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/seizure-does-not-violate.html" + } + ] + }, + { + "ref_id": "2.3.2", + "title": "Three Flashes", + "description": "Web pages do not contain anything that flashes more than three times in any one second period.", + "url": "https://www.w3.org/TR/WCAG20/#seizure-three-times", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.3.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-seizure-three-times" + }, + { + "title": "Understanding 2.3.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/seizure-three-times.html" + } + ] + }, + { + "ref_id": "2.4.1", + "title": "Bypass Blocks", + "description": "A mechanism is available to bypass blocks of content that are repeated on multiple Web pages.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-skip", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-skip" + }, + { + "title": "Understanding 2.4.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-skip.html" + } + ] + }, + { + "ref_id": "2.4.2", + "title": "Page Titled", + "description": "Web pages have titles that describe topic or purpose.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-title", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-title" + }, + { + "title": "Understanding 2.4.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-title.html" + } + ] + }, + { + "ref_id": "2.4.3", + "title": "Focus Order", + "description": " If a Web page can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-focus-order", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-focus-order" + }, + { + "title": "Understanding 2.4.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-focus-order.html" + } + ] + }, + { + "ref_id": "2.4.4", + "title": "Link Purpose (In Context)", + "description": "The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-refs", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-refs" + }, + { + "title": "Understanding 2.4.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-refs.html" + } + ] + }, + { + "ref_id": "2.4.5", + "title": "Multiple Ways", + "description": "More than one way is available to locate a Web page within a set of Web pages except where the Web Page is the result of, or a step in, a process.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-mult-loc", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-mult-loc" + }, + { + "title": "Understanding 2.4.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-mult-loc.html" + } + ] + }, + { + "ref_id": "2.4.6", + "title": "Headings and Labels", + "description": "Headings and labels describe topic or purpose.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-descriptive", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-descriptive" + }, + { + "title": "Understanding 2.4.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-descriptive.html" + } + ] + }, + { + "ref_id": "2.4.7", + "title": "Focus Visible", + "description": "Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-focus-visible", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.7", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-focus-visible" + }, + { + "title": "Understanding 2.4.7", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-focus-visible.html" + } + ] + }, + { + "ref_id": "2.4.8", + "title": "Location", + "description": "Information about the user's location within a set of Web pages is available", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-location", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.8", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-location" + }, + { + "title": "Understanding 2.4.8", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-location.html" + } + ] + }, + { + "ref_id": "2.4.9", + "title": "Link Purpose (Link Only)", + "description": "A mechanism is available to allow the purpose of each link to be identified from link text alone, except where the purpose of the link would be ambiguous to users in general.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-link", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.9", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-link" + }, + { + "title": "Understanding 2.4.9", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-link.html" + } + ] + }, + { + "ref_id": "2.4.10", + "title": "Section Headings", + "description": "Section headings are used to organize the content", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-headings", + "level": "AAA", + "special_cases": null, + "notes": [ + { + "content": "'Heading' is used in its general sense and includes titles and other ways to add a heading to different types of content." + }, + { + "content": "This success criterion covers sections within writing, not user interface components. User Interface components are covered under Success Criterion 4.1.2. (http://www.w3.org/TR/2008/REC-WCAG20-20081211/#ensure-compat-rsv)" + } + ], + "references": [ + { + "title": "How to Meet 2.4.10", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-headings" + }, + { + "title": "Understanding 2.4.10", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-headings.html" + } + ] + }, + { + "ref_id": "3.1.1", + "title": "Language of Page", + "description": "The default human language of each Web page can be programmatically determined.", + "url": "https://www.w3.org/TR/WCAG20/#meaning-doc-lang-id", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-doc-lang-id" + }, + { + "title": "Understanding 3.1.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-doc-lang-id.html" + } + ] + }, + { + "ref_id": "3.1.2", + "title": "Language of Parts", + "description": "The human language of each passage or phrase in the content can be programmatically determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have become part of the vernacular of the immediately surrounding text.", + "url": "https://www.w3.org/TR/WCAG20/#meaning-other-lang-id", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-other-lang-id" + }, + { + "title": "Understanding 3.1.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-other-lang-id.html" + } + ] + }, + { + "ref_id": "3.1.3", + "title": "Unusual Words", + "description": "A mechanism is available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon", + "url": "https://www.w3.org/TR/WCAG20/#meaning-idioms", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-idioms" + }, + { + "title": "Understanding 3.1.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-idioms.html" + } + ] + }, + { + "ref_id": "3.1.4", + "title": "Abbreviations", + "description": "A mechanism for identifying the expanded form or meaning of abbreviations is available.", + "url": "https://www.w3.org/TR/WCAG20/#meaning-located", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-located" + }, + { + "title": "Understanding 3.1.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-located.html" + } + ] + }, + { + "ref_id": "3.1.5", + "title": "Reading Level", + "description": "When text requires reading ability more advanced than the lower secondary education level after removal of proper names and titles, supplemental content, or a version that does not require reading ability more advanced than the lower secondary education level, is available.", + "url": "https://www.w3.org/TR/WCAG20/#meaning-supplements", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-supplements" + }, + { + "title": "Understanding 3.1.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-supplements.html" + } + ] + }, + { + "ref_id": "3.1.6", + "title": "Pronunciation", + "description": "A mechanism is available for identifying specific pronunciation of words where meaning of the words, in context, is ambiguous without knowing the pronunciation", + "url": "https://www.w3.org/TR/WCAG20/#meaning-pronunciation", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-pronunciation" + }, + { + "title": "Understanding 3.1.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-pronunciation.html" + } + ] + }, + { + "ref_id": "3.2.1", + "title": "On Focus", + "description": "When any component receives focus, it does not initiate a change of context", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-receive-focus", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-receive-focus" + }, + { + "title": "Understanding 3.2.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-receive-focus.html" + } + ] + }, + { + "ref_id": "3.2.2", + "title": "On Input", + "description": "Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component.", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-unpredictable-change", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-unpredictable-change" + }, + { + "title": "Understanding 3.2.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-unpredictable-change.html" + } + ] + }, + { + "ref_id": "3.2.3", + "title": "Consistent Navigation", + "description": "Navigational mechanisms that are repeated on multiple Web pages within a set of Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-consistent-locations", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-consistent-locations" + }, + { + "title": "Understanding 3.2.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-consistent-locations.html" + } + ] + }, + { + "ref_id": "3.2.4", + "title": "Consistent Identification", + "description": "Components that have the same functionality within a set of Web pages are identified consistently.", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-consistent-functionality", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-consistent-functionality" + }, + { + "title": "Understanding 3.2.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-consistent-functionality.html" + } + ] + }, + { + "ref_id": "3.2.5", + "title": "Change on Request", + "description": "Changes of context are initiated only by user request or a mechanism is available to turn off such changes", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-no-extreme-changes-context", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-no-extreme-changes-context" + }, + { + "title": "Understanding 3.2.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-no-extreme-changes-context.html" + } + ] + }, + { + "ref_id": "3.3.1", + "title": "Error Identification", + "description": "If an input error is automatically detected, the item that is in error is identified and the error is described to the user in text", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-identified", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-identified" + }, + { + "title": "Understanding 3.3.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-identified.html" + } + ] + }, + { + "ref_id": "3.3.2", + "title": "Labels or Instructions", + "description": "Labels or instructions are provided when content requires user input.", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-cues", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-cues" + }, + { + "title": "Understanding 3.3.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-cues.html" + } + ] + }, + { + "ref_id": "3.3.3", + "title": "Error Suggestion", + "description": "If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-suggestions", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-suggestions" + }, + { + "title": "Understanding 3.3.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-suggestions.html" + } + ] + }, + { + "ref_id": "3.3.4", + "title": "Error Prevention (Legal, Financial, Data", + "description": " For Web pages that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, at least one of the following is true:", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-reversible", + "level": "AA", + "special_cases": [ + { + "type": "at_least_one", + "title": "Reversible", + "description": "Submissions are reversible." + }, + { + "type": "at_least_one", + "title": "Checked", + "description": "Data entered by the user is checked for input errors and the user is provided an opportunity to correct them." + }, + { + "type": "at_least_one", + "title": "Confirmed", + "description": "A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-reversible" + }, + { + "title": "Understanding 3.3.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-reversible.html" + } + ] + }, + { + "ref_id": "3.3.5", + "title": "Help", + "description": "Context-sensitive help is available.", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-context-help", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-context-help" + }, + { + "title": "Understanding 3.3.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-context-help.html" + } + ] + }, + { + "ref_id": "3.3.6", + "title": "Error Prevention (All)", + "description": "For Web pages that require the user to submit information, at least one of the following is true:", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-reversible-all", + "level": "AAA", + "special_cases": [ + { + "type": "at_least_one", + "title": "Reversible", + "description": "Submissions are reversible." + }, + { + "type": "at_least_one", + "title": "Checked", + "description": "Data entered by the user is checked for input errors and the user is provided an opportunity to correct them." + }, + { + "type": "at_least_one", + "title": "Confirmed", + "description": "A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-reversible-all" + }, + { + "title": "Understanding 3.3.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-reversible-all.html" + } + ] + }, + { + "ref_id": "4.1.1", + "title": "Parsing", + "description": "In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features", + "url": "https://www.w3.org/TR/WCAG20/#ensure-compat-parses", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "Start and end tags that are missing a critical character in their formation, such as a closing angle bracket or a mismatched attribute value quotation mark are not complete." + } + ], + "references": [ + { + "title": "How to Meet 4.1.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-ensure-compat-parses" + }, + { + "title": "Understanding 4.1.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/ensure-compat-parses.html" + } + ] + }, + { + "ref_id": "4.1.2", + "title": "Name, Role, Value", + "description": "For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.", + "url": "https://www.w3.org/TR/WCAG20/#ensure-compat-rsv", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "This success criterion is primarily for Web authors who develop or script their own user interface components. For example, standard HTML controls already meet this success criterion when used according to specification." + } + ], + "references": [ + { + "title": "How to Meet 4.1.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-ensure-compat-rsv" + }, + { + "title": "Understanding 4.1.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/ensure-compat-rsv.html" + } + ] + } +] diff --git a/i18n/en.yaml b/i18n/en.yaml new file mode 100644 index 0000000..e72219e --- /dev/null +++ b/i18n/en.yaml @@ -0,0 +1,20 @@ +projects: + one: Project + other: Projects +resources: + one: Resource + other: Resources +sub-menu-toggle: + other: Toggle Sub Menu +primary-menu-toggle: + other: Toggle Primary Menu +skip-to-content: + other: Skip To Content +primary-menu: + other: Primary Menu +not-for-production: + other: NOT FOR PRODUCTION USE +go-to-top: + other: Go to top +homepage: + other: Homepage \ No newline at end of file diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..f9f65e0 --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,22 @@ +{{ define "main" }} +
+ +
+{{ end }} \ No newline at end of file diff --git a/layouts/_default/403.html b/layouts/_default/403.html new file mode 100644 index 0000000..dac5cca --- /dev/null +++ b/layouts/_default/403.html @@ -0,0 +1,22 @@ +{{ define "main" }} +
+ +
+{{ end }} \ No newline at end of file diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html new file mode 100644 index 0000000..884b977 --- /dev/null +++ b/layouts/_default/_markup/render-image.html @@ -0,0 +1 @@ +{{ .Text }} \ No newline at end of file diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..3d2623c --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,21 @@ + + + + + {{ if .IsHome }} + {{ .Site.Title }} - {{ .Site.Params.tagline }} + {{ else }} + {{ .Title }} - {{ .Site.Title }} + {{ end }} + + {{ partial "head.html" . }} + + +
+ {{ partial "header.html" . }} + {{ block "main" . }}{{ end }} + {{ partial "footer.html" . }} + {{ partial "script.html" . }} +
+ + diff --git a/layouts/_default/layout-column.html b/layouts/_default/layout-column.html new file mode 100644 index 0000000..0049ebf --- /dev/null +++ b/layouts/_default/layout-column.html @@ -0,0 +1,18 @@ +{{ define "main" }} +
+ +
+{{ end }} \ No newline at end of file diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..cf39357 --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,34 @@ +{{ define "main" }} +
+ +
+{{ end }} diff --git a/layouts/_default/notitle.html b/layouts/_default/notitle.html new file mode 100644 index 0000000..74a357a --- /dev/null +++ b/layouts/_default/notitle.html @@ -0,0 +1,15 @@ +{{ define "main" }} +
+ +
+{{ end }} \ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..4e95783 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,16 @@ +{{ define "main" }} +
+ +
+{{ end }} \ No newline at end of file diff --git a/layouts/_default/sitemap.xml b/layouts/_default/sitemap.xml new file mode 100644 index 0000000..0ac812e --- /dev/null +++ b/layouts/_default/sitemap.xml @@ -0,0 +1,24 @@ +{{ printf "" | safeHTML }} + +{{ range .Data.Pages }} +{{- if or (eq (isset .Params "sitemapexclude") false) (ne .Params.sitemapexclude true) }} + + {{ .Permalink }}{{ if not .Lastmod.IsZero }} + {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }} + {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} + {{ .Sitemap.Priority }}{{ end }}{{ if .IsTranslated }}{{ range .Translations }} + {{ end }} + {{ end }} + +{{- end }} +{{ end }} + \ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..5bb2549 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,3 @@ +{{ define "main" }} +{{ partial "home.html" . }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/branding.html b/layouts/partials/branding.html new file mode 100644 index 0000000..df3c817 --- /dev/null +++ b/layouts/partials/branding.html @@ -0,0 +1,10 @@ +
+
+ + {{ with .Site.Params.wordmark.alt }}{{ . }}{{ end }} + +
+
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..5f0e6ee --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,15 @@ +{{ if not .Site.Params.footeroff }} + +{{ end }} + \ No newline at end of file diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..5ac8893 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,32 @@ + + + {{ hugo.Generator }} + + + + + + + + + + {{ template "_internal/opengraph.html" . }} + {{ $cond := "" }} + {{ if .IsHome }} + {{ with .Site.Params.description }} + {{ $cond = . | plainify }} + {{ end }} + {{ else }} + {{ $cond = trim (.Summary | plainify | htmlUnescape) "\n\r" | default .Title }} + {{ end }} + + + {{ $cssOpts := (dict "targetPath" "css/styles.css" "enableSourceMap" hugo.IsServer ) }} + {{ $styles := resources.Get "scss/template-styles.scss" | resources.ExecuteAsTemplate "style.styles.css" . | toCSS $cssOpts }} + {{ if hugo.IsServer }} + + {{ else }} + {{ $minifiedStyles := $styles | minify | fingerprint }} + + {{ end }} + {{ partial "noscript.html" . }} \ No newline at end of file diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..0d507bc --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/layouts/partials/home.html b/layouts/partials/home.html new file mode 100644 index 0000000..2579c41 --- /dev/null +++ b/layouts/partials/home.html @@ -0,0 +1,13 @@ +
+ +
\ No newline at end of file diff --git a/layouts/partials/manualnavbar.html b/layouts/partials/manualnavbar.html new file mode 100644 index 0000000..9b96b95 --- /dev/null +++ b/layouts/partials/manualnavbar.html @@ -0,0 +1,53 @@ + + + diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html new file mode 100644 index 0000000..a789886 --- /dev/null +++ b/layouts/partials/navbar.html @@ -0,0 +1,43 @@ +{{ if not .Site.Params.navbaroff }} +
+
+ +
+
+{{ end }} diff --git a/layouts/partials/noscript.html b/layouts/partials/noscript.html new file mode 100644 index 0000000..63e9359 --- /dev/null +++ b/layouts/partials/noscript.html @@ -0,0 +1,7 @@ + diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html new file mode 100644 index 0000000..75d487a --- /dev/null +++ b/layouts/partials/pagination.html @@ -0,0 +1,31 @@ +{{ with $.Paginator }} + {{ if gt .TotalPages 1 }} + + {{ end }} +{{ end }} diff --git a/layouts/partials/script.html b/layouts/partials/script.html new file mode 100644 index 0000000..dd5eb1f --- /dev/null +++ b/layouts/partials/script.html @@ -0,0 +1,7 @@ +{{ $script := resources.Get "js/bundle.js" }} +{{ $processedScript := $script | default $script }} +{{ if not hugo.IsServer }} + {{ $processedScript = $script | minify | fingerprint }} +{{ end }} + + diff --git a/layouts/partials/title.html b/layouts/partials/title.html new file mode 100644 index 0000000..18ddd67 --- /dev/null +++ b/layouts/partials/title.html @@ -0,0 +1,5 @@ +{{- with .Title -}} +
+

{{ . }}

+
+{{- end -}} \ No newline at end of file diff --git a/layouts/post/single.html b/layouts/post/single.html new file mode 100644 index 0000000..1001254 --- /dev/null +++ b/layouts/post/single.html @@ -0,0 +1,20 @@ +{{ define "main" }} +
+ +
+{{ end }} \ No newline at end of file diff --git a/theme.toml b/theme.toml new file mode 100644 index 0000000..351ebc6 --- /dev/null +++ b/theme.toml @@ -0,0 +1,12 @@ +name = "Cook The Books" +version = "2.1.0" +license = "CC BY-SA 4.0" +licenselink = "https://creativecommons.org/licenses/by-sa/4.0/" +homepage = "https://git.oldgate.org/OGS/cookthebooks-hugo" +min_version = "0.109.0" +description = "The hugo theme used by Oldgate Studios!" +repository = "https://git.oldgate.org/OGS/cookthebooks-hugo" + +[authors] + name = "Oldgate & Friends Dev Team" + homepage = "https://oldgate.org"