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

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

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

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

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

--------------------------------------------------------------*/
:root {
	--color-bg: #0a1c3a;
	--color-bg-alt: #122744;
	--color-surface: #1a2e4a;
	--color-text: #fff;
	--color-text-muted: rgba(255, 255, 255, 0.65);
	--color-border: rgba(255, 255, 255, 0.12);
	--color-primary: #63adf2;
	--color-accent-red: #c62828;
	--color-accent-gold: #d4a017;
	--color-accent-green: #27ae60;
	--gradient-hero: linear-gradient(135deg, #0a1c3a 0%, #122744 40%, #63adf2 100%);
	--gradient-button: linear-gradient(90deg, #7bb9f4, #4ba1f0);
	--gradient-gold: linear-gradient(135deg, #e9b835, #8f6c10);
	--color-success: #27ae60;
	--color-warning: #f2c94c;
	--color-error: #c62828;
	--color-info: #63adf2;
	--theme-transition: 0.25s ease;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

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

/* Typography
--------------------------------------------- */
body {
	color: var(--color-text);
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	transition: color var(--theme-transition);
}

button,
input,
select,
optgroup,
textarea {
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	color: var(--color-primary);
	transition: color var(--theme-transition);
}

h2[id] {
	scroll-margin-top: 120px;
}

@media (max-width: 768px) {

	h2[id] {
		scroll-margin-top: 100px;
	}
}

p {
	margin-bottom: 1.5em;
}

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

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

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

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

abbr,
acronym {
	border-bottom: 1px dotted var(--color-accent-red);
	cursor: help;
}

mark,
ins {
	background: var(--color-surface);
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
html {
	transition: background-color var(--theme-transition), color var(--theme-transition);
}

body {
	background-color: var(--color-bg);
	color: var(--color-text);
	transition: background-color var(--theme-transition), color var(--theme-transition);
}

body[data-bg-image] {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

/**
 * Global Container
 * Provides consistent width constraints and padding across the site
 */
.container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

@media (min-width: 768px) {

	.container {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (min-width: 1024px) {

	.container {
		max-width: 1250px;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

/**
 * WordPress Block Group
 * Styled with distinct background and side borders for visual separation
 */
.wp-block-group {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	background-color: var(--color-bg);
	border-left: 3px solid var(--color-primary);
	border-right: 3px solid var(--color-primary);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (min-width: 768px) {

	.wp-block-group {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (min-width: 1024px) {

	.wp-block-group {
		max-width: 1250px;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

hr {
	background-color: var(--color-border);
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
	transition: background-color var(--theme-transition);
}

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

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

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

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

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

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

figure {
	margin: 1em 0;
}

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

/* Links
--------------------------------------------- */
a {
	color: var(--color-primary);
	transition: color var(--theme-transition), opacity var(--theme-transition);
}

a:hover,
a:focus,
a:active {
	opacity: 0.8;
}

a:focus {
	outline: thin dotted;
	outline-color: var(--color-primary);
}

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

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: var(--color-primary);
	border-radius: 3px;
	background: var(--color-primary);
	color: var(--color-bg-alt);
	font-weight: 700;
	line-height: 1;
	padding: 0.6em 1em 0.4em;
	transition: background var(--theme-transition), border-color var(--theme-transition), box-shadow var(--theme-transition), transform 0.1s ease, color var(--theme-transition), opacity var(--theme-transition);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	opacity: 0.9;
	border-color: var(--color-primary);
	transform: translateY(-1px);
}

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 {
	opacity: 0.85;
	border-color: var(--color-primary);
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--color-text-muted);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 3px;
	padding: 3px;
	transition: color var(--theme-transition), background-color var(--theme-transition), border-color var(--theme-transition);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: var(--color-text);
	border-color: var(--color-primary);
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

select {
	border: 1px solid var(--color-border);
	background-color: var(--color-surface);
	color: var(--color-text);
	transition: border-color var(--theme-transition), background-color var(--theme-transition), color var(--theme-transition);
}

textarea {
	width: 100%;
}

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

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

/* Navigation
--------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: var(--color-surface);
	backdrop-filter: none;
	box-shadow: none;
	transition: background-color var(--theme-transition), box-shadow var(--theme-transition);
}

.site-header.scrolled {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.65);
}

.site-header .container {
	width: 100%;
}

.site-header__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5rem 0;
}

@media (max-width: 1100px) {

	.site-header__content {
		padding: 1rem 0;
	}
}

.site-branding {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	z-index: 1001;
	position: relative;
}

.site-branding .custom-logo-link {
	display: block;
	line-height: 1;
	transition: opacity var(--theme-transition);
}

.site-branding .custom-logo {
	max-height: 60px;
	width: auto;
	height: auto;
	transition: opacity var(--theme-transition);
}

.main-navigation {
	display: flex;
	align-items: center;
	z-index: 1001;
}

.main-navigation .nav-menu {
	display: flex;
	align-items: center;
	gap: 2.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu {
		position: fixed;
		top: 0;
		right: -100%;
		width: 85%;
		max-width: 400px;
		height: 100vh;
		background-color: var(--color-surface);
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 5rem 2rem 0;
		gap: 0;
		transition: right 0.3s ease, background-color var(--theme-transition);
		overflow-y: auto;
		backdrop-filter: blur(10px);
	}
}

.main-navigation .nav-menu li {
	margin: 0;
	padding: 0;
	position: relative;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu li {
		width: 100%;
		border-bottom: 1px solid var(--color-border);
	}
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu li.header-cta--mobile {
		margin-top: 3rem;
		border: none;
		border-bottom: none;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

.main-navigation .nav-menu li.menu-item-has-children > a {
	position: relative;
	padding-right: 1.5rem;
}

.main-navigation .nav-menu li.menu-item-has-children > a::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid currentColor;
	transition: transform 0.3s ease;
	margin-left: 0.5rem;
	pointer-events: none;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu li.menu-item-has-children > a::after {
		right: 0;
	}
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu li.menu-item-has-children > a {
		padding-right: 2.5rem;
	}
}

@media (min-width: 1101px) {

	.main-navigation .nav-menu li.menu-item-has-children:hover > a::after {
		transform: translateY(-50%) rotate(180deg);
	}
}

.main-navigation .nav-menu li.menu-item-has-children.submenu-open > a::after {
	transform: translateY(-50%) rotate(180deg);
}

.main-navigation .nav-menu a {
	color: var(--color-text);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: color var(--theme-transition);
	display: flex;
	align-items: center;
	white-space: nowrap;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu a {
		padding: 1rem 0;
		width: 100%;
		font-size: 1rem;
	}
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu a.header-cta__button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.75rem 1.5rem;
		background: var(--color-primary);
		color: var(--color-bg-alt);
		text-decoration: none;
		font-size: 0.875rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		border-radius: 6px;
		border: 1px solid var(--color-primary);
		transition: all 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
		white-space: nowrap;
		box-shadow: 0 2px 8px rgba(99, 173, 242, 0.2);
		width: 100%;
	}

	.main-navigation .nav-menu a.header-cta__button:hover,
	.main-navigation .nav-menu a.header-cta__button:focus {
		transform: translateY(-2px);
		box-shadow: 0 4px 12px rgba(99, 173, 242, 0.4);
		border-color: var(--color-primary);
		opacity: 0.9;
		color: var(--color-bg-alt);
		text-decoration: none;
	}

	.main-navigation .nav-menu a.header-cta__button:focus {
		outline: 2px solid var(--color-primary);
		outline-offset: 2px;
	}

	.main-navigation .nav-menu a.header-cta__button:active {
		transform: translateY(0);
	}
}

.main-navigation .nav-menu a:hover {
	color: var(--color-primary);
}

.main-navigation .nav-menu .sub-menu {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	min-width: 220px;
	background-color: var(--color-surface);
	backdrop-filter: blur(10px);
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color var(--theme-transition);
	border-radius: 8px;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	z-index: 1000;
	border: 1px solid var(--color-border);
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu .sub-menu {
		position: static;
		width: 100%;
		background-color: var(--color-bg);
		opacity: 0;
		visibility: hidden;
		max-height: 0;
		overflow: hidden;
		transform: none;
		transition: opacity 0.3s ease, visibility 0.3s ease, max-height 0.4s ease, padding 0.3s ease, background-color var(--theme-transition);
		margin-top: 0;
		padding: 0;
		border-radius: 0;
		box-shadow: none;
		display: block;
	}
}

.main-navigation .nav-menu .sub-menu li {
	margin: 0;
	padding: 0;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu .sub-menu li {
		border-bottom: 1px solid var(--color-border);
		width: 100%;
	}
}

.main-navigation .nav-menu .sub-menu li a {
	display: block;
	padding: 0.75rem 1.5rem;
	font-size: 0.875rem;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
	white-space: nowrap;
	border-radius: 0;
	transition: background var(--theme-transition), color var(--theme-transition);
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu .sub-menu li a {
		padding: 0.75rem 1rem 0.75rem 2rem;
		font-size: 0.9375rem;
		white-space: normal;
		word-wrap: break-word;
		line-height: 1.4;
	}
}

.main-navigation .nav-menu .sub-menu li a:hover {
	background-color: var(--color-bg);
	color: var(--color-primary);
}

.main-navigation .nav-menu .sub-menu li a:first-child {
	border-radius: 8px 8px 0 0;
}

.main-navigation .nav-menu .sub-menu li a:last-child {
	border-radius: 0 0 8px 8px;
}

.main-navigation .nav-menu .sub-menu li a:only-child {
	border-radius: 8px;
}

@media (min-width: 1101px) {

	.main-navigation .nav-menu .menu-item-has-children:hover > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition-delay: 0.1s;
	}
}

@media (min-width: 1101px) {

	.main-navigation .nav-menu .sub-menu:hover {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu .menu-item-has-children.submenu-open > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
		max-height: 1000px !important;
		padding: 0.5rem 0 !important;
		overflow: visible !important;
	}
}

@media (max-width: 1100px) {

	.main-navigation.toggled .nav-menu {
		right: 0;
	}
}

.menu-toggle {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	color: var(--color-text);
	position: relative;
	width: 40px;
	height: 40px;
	z-index: 1002;
	align-items: center;
	justify-content: center;
	transition: color var(--theme-transition);
}

@media (max-width: 1100px) {

	.menu-toggle {
		display: flex;
	}
}

.menu-toggle__icon {
	position: absolute;
	width: 24px;
	height: 24px;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.menu-toggle__icon--close {
	opacity: 0;
	transform: rotate(90deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon--open {
	opacity: 0;
	transform: rotate(90deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon--close {
	opacity: 1;
	transform: rotate(0deg);
}

.header-cta {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	z-index: 1001;
	margin-left: 2rem;
}

@media (max-width: 1100px) {

	.header-cta--desktop {
		display: none;
	}
}

.header-cta--mobile {
	display: none;
}

@media (max-width: 1100px) {

	.header-cta--mobile {
		display: flex;
		width: 100%;
		margin-left: 0;
		margin-top: auto;
		padding: 2rem;
		border-top: 1px solid var(--color-border);
		background-color: var(--color-surface);
		flex-shrink: 0;
		position: sticky;
		bottom: 0;
	}
}

.header-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem;
	background: var(--color-primary);
	color: var(--color-bg-alt);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 6px;
	border: 1px solid var(--color-primary);
	transition: all 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(99, 173, 242, 0.2);
}

.header-cta__button:hover,
.header-cta__button:focus {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(99, 173, 242, 0.4);
	border-color: var(--color-primary);
	opacity: 0.9;
	color: var(--color-bg-alt);
	text-decoration: none;
}

.header-cta__button:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.header-cta__button:active {
	transform: translateY(0);
}

body.menu-open {
	overflow: hidden;
}

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

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

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

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

.bypostauthor {
	display: block;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.gallery-caption {
	display: block;
}

/* Hero Block
--------------------------------------------- */
.hero-block {
	position: relative;
	width: 100%;
	background-color: transparent;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	padding: clamp(3rem, 6vw, 5rem) 0;
	min-height: 400px;
}

.hero-block .container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.hero-block__content {
	display: flex;
	align-items: center;
	gap: clamp(2rem, 4vw, 4rem);
	width: 100%;
}

@media (max-width: 1023px) {

	.hero-block__content {
		flex-direction: column;
		gap: 2rem;
	}
}

.hero-block__text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

@media (max-width: 1023px) {

	.hero-block__text {
		width: 100%;
		order: 0;
	}
}

.hero-block__title {
	margin: 0;
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-primary);
	max-width: 90ch;
	animation: fadeInUp 0.8s ease-out;
	transition: color var(--theme-transition);
	text-align: left;
}

@media (max-width: 768px) {

	.hero-block__title {
		font-size: clamp(1.75rem, 4vw, 2.5rem);
	}
}

.hero-block__description {
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.7;
	color: var(--color-text);
	max-width: 80ch;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.hero-block__description {
		font-size: 1rem;
	}
}

.hero-block__description p {
	margin: 0 0 1rem;
}

.hero-block__description p:last-child {
	margin-bottom: 0;
}

.hero-block__cta {
	margin-top: 0.5rem;
}

.hero-block__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 2rem;
	background: var(--color-primary);
	color: var(--color-bg-alt);
	text-decoration: none;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 6px;
	border: 1px solid var(--color-primary);
	transition: all 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(99, 173, 242, 0.2);
}

.hero-block__cta-button:hover,
.hero-block__cta-button:focus {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(99, 173, 242, 0.4);
	border-color: var(--color-primary);
	background: var(--color-primary);
	opacity: 0.9;
	color: var(--color-bg-alt);
	text-decoration: none;
}

.hero-block__cta-button:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.hero-block__cta-button:active {
	transform: translateY(0);
}

@media (max-width: 768px) {

	.hero-block__cta-button {
		padding: 0.875rem 1.5rem;
		font-size: 0.9375rem;
	}
}

.hero-block__disclaimer {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.hero-block__disclaimer {
		font-size: 0.8125rem;
	}
}

.hero-block__image-wrapper {
	flex: 0 0 auto;
	width: 100%;
	max-width: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 1023px) {

	.hero-block__image-wrapper {
		max-width: 500px;
		order: 1;
	}
}

.hero-block__image {
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 8px;
}

.hero-block--text-only .hero-block__content {
	justify-content: center;
}

.hero-block--text-only .hero-block__text {
	text-align: center;
	align-items: center;
	max-width: 900px;
	margin: 0 auto;
}

@media (max-width: 1023px) {

	.hero-block--text-only .hero-block__text {
		text-align: left;
		align-items: flex-start;
	}
}

.hero-block--text-only .hero-block__title {
	text-align: center;
}

@media (max-width: 1023px) {

	.hero-block--text-only .hero-block__title {
		text-align: left;
	}
}

.hero-block--with-image .hero-block__text {
	flex: 1;
}

@keyframes fadeInUp {

	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Casino List
--------------------------------------------- */
.casino-list {
	background-color: var(--color-bg);
	padding: 25px 0;
	transition: background-color var(--theme-transition);
}

.casino-list__update-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 1rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-text);
	transition: background-color var(--theme-transition), border-color var(--theme-transition), color var(--theme-transition);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

@media (max-width: 768px) {

	.casino-list__update-badge {
		font-size: 0.8125rem;
		padding: 0.5rem 0.875rem;
		margin-bottom: 1.25rem;
	}
}

.casino-list__update-badge-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	color: var(--color-primary);
	transition: color var(--theme-transition);
}

.casino-list__update-badge-icon svg {
	width: 100%;
	height: 100%;
}

.casino-list__update-badge-text {
	color: var(--color-text);
	transition: color var(--theme-transition);
}

.casino-list__update-badge-time {
	color: var(--color-primary);
	font-weight: 600;
	transition: color var(--theme-transition);
}

.casino-list__empty {
	text-align: center;
	padding: 2rem;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
}

.casino-list__load-more {
	margin-top: 2rem;
	padding: 0.75rem 1.5rem;
	border: 1px solid var(--color-border);
	background: var(--color-primary);
	color: var(--color-bg-alt);
	border-radius: 6px;
	cursor: pointer;
	font-size: 0.875rem;
	transition: all var(--theme-transition);
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
}

.casino-list__load-more:hover {
	opacity: 0.9;
	border-color: var(--color-primary-light);
	cursor: pointer;
}

.casino-table {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.casino-table__header {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	margin-bottom: 1.5rem;
	text-align: center;
	gap: 1rem;
	align-items: center;
	padding: 0.75rem 1.25rem;
	border-bottom: 2px solid var(--color-primary);
	background-color: var(--color-surface);
	border-radius: 8px 8px 0 0;
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (max-width: 1023px) {

	.casino-table__header {
		display: none;
	}
}

.casino-table__body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.casino-table__header-cell {
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-text);
	letter-spacing: 0.05em;
	transition: color var(--theme-transition);
}

.casino-table__row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 0.75rem;
	align-items: center;
	padding: 0.875rem;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background-color: var(--color-surface);
	transition: all var(--theme-transition), box-shadow 0.2s ease;
	position: relative;
}

.casino-table__row:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.casino-table__row--first {
	box-shadow: 0 4px 18px rgba(99, 173, 242, 0.35);
}

@media (max-width: 1023px) {

	.casino-table__row {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		padding: 0.75rem;
	}
}

.casino-table__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
}

.casino-table__cell--casino {
	min-width: 0;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding-top: 20px;
}

.casino-table__cell--features {
	font-size: 0.875rem;
	color: var(--color-text-muted);
	line-height: 1.5;
	align-items: flex-start;
	transition: color var(--theme-transition);
}

@media (max-width: 1023px) {

	.casino-table__cell--features {
		flex-direction: column;
		align-items: center;
	}
}

.casino-table__cell--bonus {
	font-size: 1.35rem;
	color: var(--color-text);
	line-height: 1.3;
	justify-content: center;
	text-align: center;
	gap: 0.5rem;
	font-weight: 800;
	text-transform: uppercase;
	transition: color var(--theme-transition);
	padding: 0.75rem;
	background: linear-gradient(135deg, rgba(99, 173, 242, 0.1), rgba(99, 173, 242, 0.05));
	border: 2px solid var(--color-primary);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(99, 173, 242, 0.2);
}

.casino-table__cell--bonus span {
	color: var(--color-primary);
	font-weight: 900;
}

@media (max-width: 1023px) {

	.casino-table__cell--bonus {
		font-size: 1.2rem;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		padding: 0.625rem;
	}
}

.casino-table__cell--actions {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	flex-wrap: wrap;
}

@media (max-width: 1023px) {

	.casino-table__cell--actions {
		width: 100%;
		justify-content: stretch;
	}

	.casino-table__cell--actions .casino-table__btn {
		flex: 1;
	}
}

.casino-table__logo {
	width: 100px;
	height: 95px;
	object-fit: contain;
	background-color: #0a1c3a;
	padding: 0.5rem;
	border-radius: 6px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
	transition: background-color var(--theme-transition), padding var(--theme-transition), border-radius var(--theme-transition), box-shadow var(--theme-transition);
}

[data-theme="dark"] .casino-table__logo {
	background-color: transparent;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}

.casino-table__name {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-text);
	line-height: 1.4;
	text-align: center;
	transition: color var(--theme-transition);
}

.casino-table__rating-value {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.25rem;
}

.casino-table__rating-number {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1;
	transition: color var(--theme-transition);
}

.casino-table__rating-max {
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-text-muted);
	line-height: 1;
	transition: color var(--theme-transition);
}

.casino-table__bonus {
	word-break: break-word;
	font-size: inherit;
}

.casino-table__bonus span.small {
	font-size: 0.75em;
	color: inherit;
}

@media (max-width: 1023px) {

	.casino-table__bonus span.small {
		font-size: 0.8em;
	}
}

@media (max-width: 768px) {

	.casino-table__bonus span.small {
		font-size: 0.85em;
	}
}

.casino-table__features-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
}

.casino-table__features-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-text);
	line-height: 1.5;
	text-transform: uppercase;
	transition: color var(--theme-transition);
}

.casino-table__features-icon {
	flex-shrink: 0;
	width: 16px;
	height: 17px;
}

.casino-table__features-text {
	word-break: break-word;
}

.casino-table__btn {
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	font-size: 1rem;
	text-decoration: none;
	transition: all 0.2s ease;
	cursor: pointer;
	border: none;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
}

.casino-table__btn--primary {
	background: var(--color-accent-green);
	color: var(--color-bg-alt);
	text-transform: uppercase;
	min-width: 180px;
	font-weight: 800;
	font-size: 1.05rem;
	box-shadow: 0 4px 15px rgba(39, 174, 96, 0.5), 0 2px 6px rgba(39, 174, 96, 0.3) inset, 0 0 12px rgba(39, 174, 96, 0.4);
	letter-spacing: 0.05em;
	transition: all var(--theme-transition), transform 0.2s ease, box-shadow 0.2s ease;
}

.casino-table__btn--primary:hover {
	background: linear-gradient(90deg, #2cc36b, #295);
	color: var(--color-bg-alt);
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 8px 25px rgba(39, 174, 96, 0.6), 0 4px 10px rgba(39, 174, 96, 0.4) inset, 0 0 20px rgba(39, 174, 96, 0.5);
	cursor: pointer;
}

@media (max-width: 768px) {

	.casino-table__row {
		padding: 0.875rem;
	}

	.casino-table__name {
		font-size: 0.875rem;
	}

	.casino-table__logo {
		width: 80px;
		height: 76px;
		padding: 0.375rem;
	}

	.casino-table__cell--bonus,
	.casino-table__cell--features {
		font-size: 0.8125rem;
	}

	.casino-table__btn {
		padding: 0.4375rem 0.875rem;
		font-size: 0.8125rem;
	}
}

.casino-table__position-badge {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	border-radius: 8px 0;
	background: var(--color-primary);
	color: var(--color-bg-alt);
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 1;
	z-index: 10;
	padding: 0.25rem 0.5rem;
	transition: background var(--theme-transition), color var(--theme-transition);
}

.casino-table__position {
	color: var(--color-primary);
	background-color: var(--color-surface);
	border-radius: 50%;
	width: 30px;
	height: 30px;
	transition: color var(--theme-transition), background-color var(--theme-transition);
	display: flex;
	align-items: center;
	justify-content: center;
}

.casino-card-block {
	width: 100%;
	padding: 2rem 0;
}

.casino-card-block .casino-table {
	width: 100%;
}

.casino-card-block .casino-table__body {
	display: flex;
	flex-direction: column;
	gap: 0;
}

@media (max-width: 768px) {

	.casino-card-block {
		padding: 1.5rem 0;
	}
}

/* FAQ Section Block
--------------------------------------------- */

/**
 * FAQ Section Block
 */
.faq-section {
	padding: 2rem 0;
	background-color: var(--color-bg);
	transition: background-color var(--theme-transition);
}

.faq-section .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}

@media (max-width: 768px) {

	.faq-section .container {
		padding: 0 1rem;
	}
}

.faq-section__title {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 2rem;
	text-align: center;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.faq-section__title {
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}
}

.faq-section__description {
	max-width: 800px;
	margin: 0 auto;
	font-size: 1.125rem;
	font-weight: 400;
	margin-bottom: 2rem;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.faq-section__description {
		font-size: 1rem;
		margin-bottom: 1.5rem;
	}
}

.faq-section__items {
	max-width: 800px;
	margin: 0 auto;
}

.faq-section__item {
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 0;
	transition: border-color var(--theme-transition);
}

.faq-section__item:first-child {
	border-top: 1px solid var(--color-border);
}

.faq-section__question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5rem 0;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	color: var(--color-text);
	transition: opacity var(--theme-transition);
}

.faq-section__question:hover {
	opacity: 0.6;
}

.faq-section__question[aria-expanded="true"] .faq-section__icon {
	transform: rotate(45deg);
}

@media (max-width: 768px) {

	.faq-section__question {
		padding: 1rem 0;
	}
}

.faq-section__question-text {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0;
	flex: 1;
	color: inherit;
	padding-right: 1rem;
	padding-left: 0.5rem;
}

@media (max-width: 768px) {

	.faq-section__question-text {
		font-size: 1rem;
	}
}

.faq-section__icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease, color var(--theme-transition);
	color: var(--color-primary);
}

.faq-section__icon svg {
	width: 100%;
	height: 100%;
}

.faq-section__answer {
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
	max-height: 0;
	padding: 0 0;
}

.faq-section__answer[hidden] {
	display: none;
}

.faq-section__answer:not([hidden]) {
	display: block;
	max-height: 2000px;
	padding: 1rem 0;
}

@media (max-width: 768px) {

	.faq-section__answer:not([hidden]) {
		padding-bottom: 1rem;
	}
}

.faq-section__answer-content {
	color: var(--color-text);
	line-height: 1.6;
	transition: color var(--theme-transition);
}

.faq-section__answer-content p {
	margin: 0 0 1rem;
	padding: 0 0.5rem;
}

.faq-section__answer-content p:last-child {
	margin-bottom: 0;
}

.faq-section__answer-content ul,
.faq-section__answer-content ol {
	margin: 0 0 1rem;
	padding-left: 1.5rem;
}

.faq-section__answer-content ul:last-child,
.faq-section__answer-content ol:last-child {
	margin-bottom: 0;
}

.faq-section__answer-content li {
	margin-bottom: 0.5rem;
}

.faq-section__answer-content li:last-child {
	margin-bottom: 0;
}

.faq-section__answer-content a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: color var(--theme-transition);
}

.faq-section__answer-content a:hover {
	text-decoration: none;
}

.faq-section__answer-content strong {
	font-weight: 600;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

.faq-section__answer-content em {
	font-style: italic;
}

/* Key Sections Block
--------------------------------------------- */

/**
 * Key Sections Block Styles
 */
.key-sections-block {
	width: 100%;
	margin: 2rem 0;
	position: relative;
}

@media (max-width: 768px) {

	.key-sections-block {
		margin: 1.5rem 0;
	}
}

.key-sections__toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	color: var(--color-text);
	font-size: 1rem;
	font-weight: 600;
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	cursor: pointer;
	transition: all var(--theme-transition);
	text-align: left;
}

.key-sections__toggle:hover {
	background-color: var(--color-bg);
	border-color: var(--color-primary);
}

.key-sections__toggle:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.key-sections__toggle[aria-expanded="true"] {
	border-color: var(--color-primary);
	background-color: var(--color-bg);
}

.key-sections__toggle[aria-expanded="true"] .key-sections__toggle-icon {
	transform: rotate(180deg);
}

@media (max-width: 768px) {

	.key-sections__toggle {
		padding: 0.875rem 1rem;
		font-size: 0.9375rem;
	}
}

.key-sections__toggle-text {
	flex: 1;
	margin: 0;
}

.key-sections__toggle-icon {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-left: 0.75rem;
	transition: transform 0.3s ease, color var(--theme-transition);
	color: var(--color-primary);
}

.key-sections__menu-wrapper {
	position: relative;
	margin: 0.5rem 0 0;
}

.key-sections__menu {
	list-style: none;
	margin: 0;
	padding: 0 0 3rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	overflow: hidden;
	max-height: 400px;
	opacity: 1;
	visibility: visible;
	overflow-y: auto;
	transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease, background-color var(--theme-transition), border-color var(--theme-transition);
}

.key-sections-block:not(.is-open) .key-sections__menu {
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	padding-bottom: 0;
}

@media (max-width: 768px) {

	.key-sections__menu {
		max-height: 400px;
		padding-bottom: 3rem;
	}
}

.key-sections__item {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--color-border);
	transition: border-color var(--theme-transition);
}

.key-sections__item:last-child {
	border-bottom: none;
}

.key-sections__link {
	display: block;
	padding: 0.875rem 1.25rem;
	color: var(--color-text);
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 1.5;
	transition: all var(--theme-transition), padding 0.2s ease;
	position: relative;
	padding-left: 2.5rem;
}

.key-sections__link::before {
	content: "";
	position: absolute;
	left: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-primary);
	opacity: 0.6;
	transition: opacity 0.2s ease, background var(--theme-transition);
}

.key-sections__link:hover,
.key-sections__link:focus {
	background-color: var(--color-bg);
	color: var(--color-primary);
	padding-left: 2.75rem;
}

.key-sections__link:hover::before,
.key-sections__link:focus::before {
	opacity: 1;
	background: var(--color-primary);
}

.key-sections__link:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: -2px;
}

@media (max-width: 768px) {

	.key-sections__link {
		padding: 0.75rem 1rem;
		padding-left: 2.25rem;
		font-size: 0.875rem;
	}

	.key-sections__link:hover,
	.key-sections__link:focus {
		padding-left: 2.5rem;
	}

	.key-sections__link::before {
		left: 1rem;
	}
}

.key-sections__scroll-indicator {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1rem;
	background: linear-gradient(to bottom, transparent 0%, var(--color-surface) 20%, var(--color-surface) 50%, var(--color-surface) 100%);
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease, background var(--theme-transition);
	z-index: 2;
	border-radius: 0 0 8px 8px;
}

.key-sections-block:not(.is-open) .key-sections__scroll-indicator {
	opacity: 0 !important;
	visibility: hidden !important;
}

.key-sections-block.is-open .key-sections__menu-wrapper[data-scrollable="true"] .key-sections__scroll-indicator {
	opacity: 1;
	visibility: visible;
}

.key-sections-block.is-open .key-sections__menu-wrapper:hover .key-sections__scroll-indicator {
	opacity: 0.3;
}

.key-sections__scroll-text {
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: color var(--theme-transition);
}

.key-sections__scroll-icon {
	width: 14px;
	height: 14px;
	color: var(--color-primary);
	animation: key-sections-scroll-bounce 2s ease-in-out infinite;
	transition: color var(--theme-transition);
}

@keyframes key-sections-scroll-bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(4px);
	}
}

.key-sections__empty {
	margin: 0;
	padding: 1rem;
	text-align: center;
	color: var(--color-text-muted);
	font-size: 0.9375rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	transition: color var(--theme-transition), background-color var(--theme-transition), border-color var(--theme-transition);
}

/* Contact Form Block
--------------------------------------------- */
.contact-form-block {
	width: 100%;
	padding: 4rem 0;
	background-color: var(--color-bg);
	transition: background-color var(--theme-transition);
}

@media (max-width: 768px) {

	.contact-form-block {
		padding: 3rem 0;
	}
}

.contact-form-block .container {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.contact-form-block__description {
	margin-bottom: 2rem;
	color: var(--color-text);
	font-size: 1.125rem;
	line-height: 1.7;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.contact-form-block__description {
		font-size: 1rem;
		margin-bottom: 1.5rem;
	}
}

.contact-form-block__description p {
	margin: 0 0 1rem;
}

.contact-form-block__description p:last-child {
	margin-bottom: 0;
}

.contact-form-block__wrapper {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 2.5rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (max-width: 768px) {

	.contact-form-block__wrapper {
		padding: 1.5rem;
	}
}

.contact-form-block__empty {
	text-align: center;
	padding: 2rem;
	color: var(--color-text-muted);
	background-color: var(--color-surface);
	border: 1px dashed var(--color-border);
	border-radius: 8px;
	transition: color var(--theme-transition), background-color var(--theme-transition), border-color var(--theme-transition);
}

.contact-form-block .wpcf7 form .wpcf7-form-control-wrap {
	margin-bottom: 1.5rem;
}

.contact-form-block .wpcf7 form label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 600;
	color: var(--color-text);
	font-size: 0.9375rem;
	transition: color var(--theme-transition);
}

.contact-form-block .wpcf7 form input[type="text"],
.contact-form-block .wpcf7 form input[type="email"],
.contact-form-block .wpcf7 form input[type="tel"],
.contact-form-block .wpcf7 form input[type="url"],
.contact-form-block .wpcf7 form input[type="number"],
.contact-form-block .wpcf7 form textarea,
.contact-form-block .wpcf7 form select {
	width: 100%;
	padding: 0.875rem 1rem;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-size: 1rem;
	font-family: inherit;
	line-height: 1.5;
	transition: border-color var(--theme-transition), background-color var(--theme-transition), color var(--theme-transition);
}

.contact-form-block .wpcf7 form input[type="text"]:focus,
.contact-form-block .wpcf7 form input[type="email"]:focus,
.contact-form-block .wpcf7 form input[type="tel"]:focus,
.contact-form-block .wpcf7 form input[type="url"]:focus,
.contact-form-block .wpcf7 form input[type="number"]:focus,
.contact-form-block .wpcf7 form textarea:focus,
.contact-form-block .wpcf7 form select:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(99, 173, 242, 0.1);
}

.contact-form-block .wpcf7 form input[type="text"]::placeholder,
.contact-form-block .wpcf7 form input[type="email"]::placeholder,
.contact-form-block .wpcf7 form input[type="tel"]::placeholder,
.contact-form-block .wpcf7 form input[type="url"]::placeholder,
.contact-form-block .wpcf7 form input[type="number"]::placeholder,
.contact-form-block .wpcf7 form textarea::placeholder,
.contact-form-block .wpcf7 form select::placeholder {
	color: var(--color-text-muted);
	opacity: 0.7;
}

.contact-form-block .wpcf7 form textarea {
	min-height: 120px;
	resize: vertical;
}

.contact-form-block .wpcf7 form .wpcf7-submit {
	background: var(--gradient-button);
	color: var(--color-bg-alt);
	border: none;
	padding: 1rem 2rem;
	font-size: 1rem;
	font-weight: 700;
	border-radius: 8px;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 4px 12px rgba(99, 173, 242, 0.3);
}

.contact-form-block .wpcf7 form .wpcf7-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(99, 173, 242, 0.4);
}

.contact-form-block .wpcf7 form .wpcf7-submit:active {
	transform: translateY(0);
}

.contact-form-block .wpcf7 form .wpcf7-submit:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.contact-form-block .wpcf7 form .wpcf7-validation-errors,
.contact-form-block .wpcf7 form .wpcf7-mail-sent-ok,
.contact-form-block .wpcf7 form .wpcf7-mail-sent-ng,
.contact-form-block .wpcf7 form .wpcf7-spam {
	padding: 1rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
	font-size: 0.9375rem;
	transition: background-color var(--theme-transition), color var(--theme-transition), border-color var(--theme-transition);
}

.contact-form-block .wpcf7 form .wpcf7-validation-errors {
	background-color: rgba(220, 53, 69, 0.1);
	border: 1px solid rgba(220, 53, 69, 0.3);
	color: var(--color-accent-red);
}

.contact-form-block .wpcf7 form .wpcf7-mail-sent-ok {
	background-color: rgba(40, 167, 69, 0.1);
	border: 1px solid rgba(40, 167, 69, 0.3);
	color: #28a745;
}

.contact-form-block .wpcf7 form .wpcf7-mail-sent-ng,
.contact-form-block .wpcf7 form .wpcf7-spam {
	background-color: rgba(255, 193, 7, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
	color: #ffc107;
}

.contact-form-block .wpcf7 form span.wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-accent-red);
}

.contact-form-block .wpcf7 form .wpcf7-not-valid {
	border-color: var(--color-accent-red) !important;
}

/* Content Image Block
--------------------------------------------- */
.content-image-block {
	width: 100%;
	padding: clamp(2rem, 4vw, 3rem) 0;
}

.content-image-block__content {
	display: flex;
	align-items: center;
	gap: clamp(2rem, 4vw, 4rem);
	width: 100%;
}

@media (max-width: 1023px) {

	.content-image-block__content {
		flex-direction: column;
		gap: 2rem;
	}
}

.content-image-block--content-only .content-image-block__text {
	width: 100%;
	max-width: 100%;
}

.content-image-block--with-images .content-image-block__text {
	flex: 1;
}

.content-image-block__text {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media (max-width: 1023px) {

	.content-image-block__text {
		width: 100%;
		order: 0;
	}
}

.content-image-block__content-text {
	color: var(--color-text);
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.7;
	transition: color var(--theme-transition);
}

.content-image-block__content-text h1,
.content-image-block__content-text h2,
.content-image-block__content-text h3,
.content-image-block__content-text h4,
.content-image-block__content-text h5,
.content-image-block__content-text h6 {
	color: var(--color-text);
	margin-top: 0;
	margin-bottom: 1rem;
	transition: color var(--theme-transition);
}

.content-image-block__content-text h1 {
	font-size: clamp(2rem, 4vw, 2.5rem);
	color: var(--color-primary);
	font-weight: 700;
}

.content-image-block__content-text h2 {
	font-size: clamp(1.75rem, 3vw, 2rem);
	color: var(--color-primary);
	font-weight: 700;
}

.content-image-block__content-text h3 {
	font-size: clamp(1.5rem, 3vw, 1.75rem);
	font-weight: 600;
}

.content-image-block__content-text p {
	margin: 0 0 1rem;
}

.content-image-block__content-text p:last-child {
	margin-bottom: 0;
}

.content-image-block__content-text ul {
	list-style: none;
	padding-left: 0;
	margin: 1rem 0;
}

.content-image-block__content-text ul li {
	position: relative;
	padding-left: 2rem;
	margin-bottom: 0.75rem;
	line-height: 1.6;
	width: fit-content;
	margin-right: auto;
}

.content-image-block__content-text ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.25rem;
	width: 1.25rem;
	height: 1.25rem;
	background-color: var(--color-primary);
	/* stylelint-disable-next-line function-url-quotes */
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM406.6 278.6l-103.1 103.1c-12.5 12.5-32.75 12.5-45.25 0s-12.5-32.75 0-45.25L306.8 288H128C110.3 288 96 273.7 96 256s14.31-32 32-32h178.8l-49.38-49.38c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l103.1 103.1C414.6 241.3 416 251.1 416 256C416 260.9 414.6 270.7 406.6 278.6z'%3E%3C/path%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	flex-shrink: 0;
}

.content-image-block__content-text ul li:last-child {
	margin-bottom: 0;
}

.content-image-block__content-text ul:has(li[style*="text-align: center"]),
.content-image-block__content-text ul:has(li[style*="text-align:center"]) {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

.content-image-block__content-text ul:has(li[style*="text-align: left"]),
.content-image-block__content-text ul:has(li[style*="text-align:left"]) {
	width: fit-content;
	margin-right: auto;
}

.content-image-block__content-text ul:has(li[style*="text-align: right"]),
.content-image-block__content-text ul:has(li[style*="text-align:right"]) {
	width: fit-content;
	margin-left: auto;
}

.content-image-block__content-text ul.ul-align-center {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

.content-image-block__content-text ul.ul-align-left {
	width: fit-content;
	margin-right: auto;
}

.content-image-block__content-text ul.ul-align-right {
	width: fit-content;
	margin-left: auto;
}

.content-image-block__content-text ol {
	margin: 1rem 0;
	padding-left: 1.5rem;
}

.content-image-block__content-text a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: color var(--theme-transition), opacity var(--theme-transition);
}

.content-image-block__content-text a:hover {
	opacity: 0.8;
}

.content-image-block__cta {
	margin-top: 0.5rem;
}

.content-image-block__cta--left {
	text-align: left;
}

.content-image-block__cta--center {
	text-align: center;
}

.content-image-block__cta--right {
	text-align: right;
}

.content-image-block__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 2rem;
	background: var(--color-primary);
	color: var(--color-bg-alt);
	text-decoration: none;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 6px;
	border: 1px solid var(--color-primary);
	transition: all 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(99, 173, 242, 0.2);
}

.content-image-block__cta-button:hover,
.content-image-block__cta-button:focus {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(99, 173, 242, 0.4);
	border-color: var(--color-primary);
	background: var(--color-primary);
	opacity: 0.9;
	color: var(--color-bg-alt);
	text-decoration: none;
}

.content-image-block__cta-button:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.content-image-block__cta-button:active {
	transform: translateY(0);
}

@media (max-width: 768px) {

	.content-image-block__cta-button {
		padding: 0.875rem 1.5rem;
		font-size: 0.9375rem;
	}
}

.content-image-block__image-wrapper {
	flex: 0 0 auto;
	width: 100%;
	max-width: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 1023px) {

	.content-image-block__image-wrapper {
		max-width: 100%;
		order: 1;
	}
}

.content-image-block__image {
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 8px;
}

.content-image-block__gallery-wrapper {
	flex: 0 0 auto;
	width: 100%;
	max-width: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 1023px) {

	.content-image-block__gallery-wrapper {
		max-width: 100%;
		order: 2;
	}
}

.content-image-block__gallery {
	display: grid;
	width: 100%;
	gap: 1rem;
}

.content-image-block__gallery[data-count="1"] {
	grid-template-columns: 1fr;
}

.content-image-block__gallery[data-count="2"] {
	grid-template-columns: 1fr;
	grid-template-rows: repeat(2, 1fr);
}

.content-image-block__gallery[data-count="3"] {
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
}

.content-image-block__gallery[data-count="3"] .content-image-block__gallery-item:first-child {
	grid-column: 1 / -1;
}

.content-image-block__gallery[data-count="4"] {
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
}

@media (max-width: 768px) {

	.content-image-block__gallery {
		gap: 0.75rem;
	}
}

.content-image-block__gallery-item {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 8px;
}

.content-image-block__gallery-image {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 8px;
	transition: transform 0.3s ease;
	max-width: 250px;
}

.content-image-block__gallery-image:hover {
	transform: scale(1.05);
}

.content-image-block--content-left .content-image-block__text {
	order: 0;
}

.content-image-block--content-left .content-image-block__image-wrapper,
.content-image-block--content-left .content-image-block__gallery-wrapper {
	order: 1;
}

.content-image-block--image-left .content-image-block__image-wrapper,
.content-image-block--image-left .content-image-block__gallery-wrapper {
	order: 0;
}

.content-image-block--image-left .content-image-block__text {
	order: 1;
}

/* Scroll to Top Button
--------------------------------------------- */

/**
 * Scroll to Top Button Styles
 */
.scroll-to-top {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 50%;
	color: var(--color-text);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: all var(--theme-transition), transform 0.3s ease, box-shadow 0.3s ease;
	z-index: 9999;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	padding: 12px;
}

.scroll-to-top:hover,
.scroll-to-top:focus {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	opacity: 0.9;
	color: var(--color-bg-alt);
	transform: translateY(-4px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

.scroll-to-top:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.scroll-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

@media (max-width: 768px) {

	.scroll-to-top {
		bottom: 1.5rem;
		right: 1.5rem;
		left: auto;
		transform: translateY(20px);
		height: 44px;
		width: 44px;
	}

	.scroll-to-top.is-visible {
		transform: translateY(0);
	}

	.scroll-to-top:hover,
	.scroll-to-top:focus {
		transform: translateY(-4px);
	}
}

.scroll-to-top__icon {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (max-width: 768px) {

	.scroll-to-top__icon {
		width: 24px;
		height: 24px;
		stroke-width: 2.5;
	}
}

/* Table of Contents
--------------------------------------------- */

/* Error Pages
--------------------------------------------- */
.error-404 {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background-color: var(--color-bg);
	color: var(--color-text);
	text-align: center;
	padding: 4rem 1.5rem;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	transition: background-color var(--theme-transition), color var(--theme-transition);
}

@media (min-width: 768px) {

	.error-404 {
		padding: 6rem 2rem;
	}
}

.error-404__inner {
	position: relative;
	z-index: 1;
	max-width: 680px;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	align-items: center;
}

.error-404__status {
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	font-size: clamp(4rem, 14vw, 8rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-primary);
	margin: 0;
	text-shadow: 0 0 20px rgba(99, 173, 242, 0.35);
	transition: color var(--theme-transition);
}

.error-404__title {
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	margin: 0;
	color: var(--color-text);
	line-height: 1.2;
	transition: color var(--theme-transition);
}

.error-404__subtitle {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--color-text-muted);
	max-width: 600px;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.error-404__subtitle {
		font-size: 1rem;
	}
}

.error-404__actions {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

@media (min-width: 480px) {

	.error-404__actions {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		width: auto;
	}
}

.error-404__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 2.5rem;
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	font-weight: 700;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 6px;
	transition: all var(--theme-transition), transform 0.3s ease, box-shadow 0.3s ease;
	text-decoration: none;
	cursor: pointer;
	border: none;
}

.error-404__button--primary {
	background: var(--color-primary);
	color: var(--color-bg-alt);
	box-shadow: 0 4px 12px rgba(99, 173, 242, 0.35);
}

.error-404__button--primary:hover,
.error-404__button--primary:focus {
	background: var(--color-primary);
	opacity: 0.9;
	color: var(--color-bg-alt);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(99, 173, 242, 0.45);
}

.error-404__button--secondary {
	background-color: var(--color-surface);
	color: var(--color-text);
	border: 1px solid var(--color-border);
	backdrop-filter: blur(10px);
	transition: all var(--theme-transition), transform 0.3s ease;
}

.error-404__button--secondary:hover,
.error-404__button--secondary:focus {
	background-color: var(--color-bg);
	color: var(--color-primary);
	border-color: var(--color-primary);
	transform: translateY(-2px);
}

.error-404__illustration {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 2rem 0;
}

.error-404__illustration svg {
	width: clamp(120px, 30vw, 200px);
	height: auto;
	filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.25));
}

.error-404__glow {
	position: absolute;
	width: clamp(240px, 50vw, 420px);
	height: clamp(240px, 50vw, 420px);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(99, 173, 242, 0.35) 0%, transparent 70%);
	filter: blur(60px);
	opacity: 0.6;
	z-index: 0;
	pointer-events: none;
	transition: background var(--theme-transition);
}

.error-404__glow--top {
	top: 8%;
	left: 15%;
}

.error-404__glow--bottom {
	bottom: 10%;
	right: 20%;
	background: radial-gradient(circle, rgba(99, 173, 242, 0.3) 0%, transparent 70%);
	transition: background var(--theme-transition);
}

/* Author Page
--------------------------------------------- */

/* Author Page
--------------------------------------------- */
.author-header {
	width: 100%;
	padding: 3rem 0;
	background-color: var(--color-bg);
	transition: background-color var(--theme-transition);
	margin-bottom: 2rem;
}

@media (max-width: 768px) {

	.author-header {
		padding: 2rem 0;
		margin-bottom: 1.5rem;
	}
}

.author-header__content {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
	width: 100%;
}

@media (max-width: 768px) {

	.author-header__content {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 1.5rem;
	}
}

.author-header__avatar {
	flex-shrink: 0;
	width: 120px;
	height: 120px;
}

@media (max-width: 768px) {

	.author-header__avatar {
		width: 100px;
		height: 100px;
	}
}

.author-header__avatar-img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var(--color-primary);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: border-color var(--theme-transition), box-shadow var(--theme-transition);
}

.author-header__info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

@media (max-width: 768px) {

	.author-header__info {
		align-items: center;
	}
}

.author-header__name {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.author-header__name {
		font-size: 2rem;
	}
}

.author-header__bio {
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
	max-width: 80ch;
}

@media (max-width: 768px) {

	.author-header__bio {
		font-size: 1rem;
		text-align: center;
	}
}

.author-header__bio p {
	margin: 0 0 1rem;
}

.author-header__bio p:last-child {
	margin-bottom: 0;
}

.author-header__meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

@media (max-width: 768px) {

	.author-header__meta {
		justify-content: center;
	}
}

.author-header__posts-count {
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-primary);
	transition: color var(--theme-transition);
}

.author-header__email {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	color: var(--color-primary);
	text-decoration: none;
	transition: all var(--theme-transition);
	margin-left: 0.75rem;
}

.author-header__email:hover,
.author-header__email:focus {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-bg-alt);
	transform: scale(1.1);
}

.author-header__email:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

@media (max-width: 768px) {

	.author-header__email {
		width: 36px;
		height: 36px;
		margin-left: 0.5rem;
	}
}

.author-header__email-icon {
	width: 20px;
	height: 20px;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
}

@media (max-width: 768px) {

	.author-header__email-icon {
		width: 18px;
		height: 18px;
	}
}

.author-posts {
	width: 100%;
	padding: 2rem 0;
}

@media (max-width: 768px) {

	.author-posts {
		padding: 1.5rem 0;
	}
}

.author-posts__title {
	margin: 0 0 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.author-posts__title {
		font-size: 1.75rem;
		margin-bottom: 1.5rem;
	}
}

.author-posts__list {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

@media (max-width: 768px) {

	.author-posts__list {
		gap: 1.5rem;
	}
}

.author-posts__list .entry-summary {
	margin-top: 1rem;
	color: var(--color-text-muted);
	line-height: 1.7;
	transition: color var(--theme-transition);
}

.author-posts__list .entry-summary p {
	margin: 0 0 1rem;
}

.author-posts__list .entry-read-more {
	display: inline-block;
	margin-top: 0.75rem;
	color: var(--color-primary);
	font-weight: 600;
	text-decoration: none;
	transition: color var(--theme-transition);
}

.author-posts__list .entry-read-more:hover,
.author-posts__list .entry-read-more:focus {
	opacity: 0.8;
	text-decoration: underline;
}

.author-posts__list .entry-title {
	margin-bottom: 0.5rem;
}

.author-posts__list .entry-title a {
	color: var(--color-text);
	text-decoration: none;
	transition: color var(--theme-transition);
}

.author-posts__list .entry-title a:hover,
.author-posts__list .entry-title a:focus {
	color: var(--color-primary);
}

/* Responsible Gaming Block
--------------------------------------------- */

/* Responsible Gaming Block
--------------------------------------------- */
.responsible-gaming-block {
	width: 100%;
	padding: 2rem 0;
	background-color: var(--color-bg);
	margin-top: 3rem;
	border-top: 1px solid var(--color-border);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (max-width: 768px) {

	.responsible-gaming-block {
		padding: 1.5rem 0;
		margin-top: 2rem;
	}
}

.responsible-gaming-block__title {
	margin: 0 0 1.5rem;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-primary);
	text-align: center;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.responsible-gaming-block__title {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
}

.responsible-gaming-block__description {
	margin: 0 auto 3rem;
	max-width: 800px;
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--color-text-muted);
	text-align: center;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.responsible-gaming-block__description {
		font-size: 1rem;
		margin-bottom: 2rem;
	}
}

.responsible-gaming-block__description p {
	margin: 0 0 1rem;
}

.responsible-gaming-block__description p:last-child {
	margin-bottom: 0;
}

.responsible-gaming-block__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

@media (max-width: 768px) {

	.responsible-gaming-block__items {
		gap: 1.5rem;
		flex-direction: column;
	}
}

.responsible-gaming-block__item {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border-radius: 8px;
	padding: 1rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	transition: all var(--theme-transition), transform 0.3s ease, box-shadow 0.3s ease, opacity var(--theme-transition);
}

.responsible-gaming-block__item:hover,
.responsible-gaming-block__item:focus {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
	border-color: var(--color-primary);
	text-decoration: none;
}

.responsible-gaming-block__item:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

@media (max-width: 768px) {

	.responsible-gaming-block__item {
		padding: 0.75rem;
	}
}

.responsible-gaming-block__image {
	max-width: 180px;
	max-height: 80px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	transition: opacity var(--theme-transition);
}

@media (max-width: 768px) {

	.responsible-gaming-block__image {
		max-width: 140px;
		max-height: 60px;
	}
}

.responsible-gaming-block__item:hover .responsible-gaming-block__image,
.responsible-gaming-block__item:focus .responsible-gaming-block__image {
	opacity: 0.9;
}

.site-footer {
	background-color: var(--color-surface);
	color: var(--color-text);
	border-top: 1px solid var(--color-border);
	padding: 3rem 0 2rem;
	transition: background-color var(--theme-transition), color var(--theme-transition), border-color var(--theme-transition);
}

.site-footer .container {
	width: 100%;
}

.site-footer__content {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 3rem);
}

.site-footer__top {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(2rem, 4vw, 3rem);
	align-items: flex-start;
}

@media (max-width: 1024px) {

	.site-footer__top {
		grid-template-columns: 1fr;
		gap: clamp(2rem, 4vw, 2.5rem);
		text-align: center;
	}
}

.site-footer__column {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.site-footer__column--logo {
	align-items: flex-start;
}

@media (max-width: 1024px) {

	.site-footer__column--logo {
		align-items: center;
	}
}

.site-footer__column--info {
	align-items: flex-start;
}

@media (max-width: 1024px) {

	.site-footer__column--info {
		align-items: center;
	}
}

.site-footer__column--menu {
	align-items: flex-start;
}

@media (max-width: 1024px) {

	.site-footer__column--menu {
		align-items: center;
	}
}

.site-footer__branding {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}

@media (max-width: 1024px) {

	.site-footer__branding {
		justify-content: center;
	}
}

.site-footer__branding .custom-logo-link {
	display: block;
	line-height: 1;
	transition: opacity var(--theme-transition);
}

.site-footer__branding .custom-logo {
	max-height: 60px;
	width: auto;
	height: auto;
	transition: opacity var(--theme-transition);
}

.site-footer__title {
	color: var(--color-text);
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 0.5rem;
	transition: color var(--theme-transition);
}

.site-footer__description {
	color: var(--color-text-muted);
	font-size: clamp(0.875rem, 1.25vw, 0.9375rem);
	line-height: 1.6;
	transition: color var(--theme-transition);
}

.site-footer__description p {
	margin: 0 0 0.75rem;
}

.site-footer__description p:last-child {
	margin-bottom: 0;
}

.site-footer__menu-title {
	color: var(--color-text);
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 1rem;
	transition: color var(--theme-transition);
}

.site-footer__copyright {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 2rem;
	border-top: 1px solid var(--color-border);
}

.site-footer__copyright p {
	margin: 0;
	font-size: 0.875rem;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
}

.site-footer__navigation {
	width: 100%;
	min-width: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

@media (max-width: 1024px) {

	.site-footer__navigation {
		justify-content: center;
	}
}

.footer-menu {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.footer-menu__column {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.footer-menu__column-title {
	color: var(--color-text);
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0.5rem;
	text-decoration: none;
	transition: color var(--theme-transition);
	display: block;
}

.footer-menu__column-title.footer-menu__link:hover,
.footer-menu__column-title.footer-menu__link:focus {
	color: var(--color-primary);
	outline: none;
}

.footer-menu__submenu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.footer-menu__subitem {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu__sublink {
	color: var(--color-text-muted);
	text-decoration: none;
	font-size: clamp(0.875rem, 1.25vw, 0.9375rem);
	font-weight: 400;
	line-height: 1.6;
	transition: color var(--theme-transition);
	display: block;
}

.footer-menu__sublink:hover,
.footer-menu__sublink:focus {
	color: var(--color-primary);
	outline: none;
}

.footer-menu__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu__link {
	color: var(--color-text-muted);
	text-decoration: none;
	font-size: clamp(0.875rem, 1.5vw, 1rem);
	font-weight: 400;
	line-height: 1.6;
	white-space: pre-wrap;
	transition: color var(--theme-transition);
}

.footer-menu__link:hover,
.footer-menu__link:focus {
	color: var(--color-primary);
	outline: none;
}

@media (max-width: 768px) {

	.footer-menu__link {
		font-size: 0.875rem;
	}
}

.footer-menu__title {
	margin: 0;
}

/* Gutenberg Block Group Styles
--------------------------------------------- */

/**
 * Gutenberg Block Group Styles
 * Styles for typography and tables within .wp-block-group
 */
.wp-block-group {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.wp-block-group p {
	margin-bottom: 1.5em;
	color: var(--color-text);
	line-height: 1.5;
	font-size: 1rem;
	transition: color var(--theme-transition);
}

.wp-block-group p:last-child {
	margin-bottom: 0;
}

.wp-block-group h1,
.wp-block-group h2,
.wp-block-group h3,
.wp-block-group h4,
.wp-block-group h5,
.wp-block-group h6 {
	clear: both;
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	color: var(--color-primary);
	margin-top: 1.5em;
	margin-bottom: 1em;
	line-height: 1.3;
	font-weight: 700;
	transition: color var(--theme-transition);
}

.wp-block-group h1:first-child,
.wp-block-group h2:first-child,
.wp-block-group h3:first-child,
.wp-block-group h4:first-child,
.wp-block-group h5:first-child,
.wp-block-group h6:first-child {
	margin-top: 0;
}

.wp-block-group h1 {
	font-size: 2.5rem;
	margin-bottom: 1.25em;
}

@media (max-width: 768px) {

	.wp-block-group h1 {
		font-size: 2rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h1 {
		font-size: 1.75rem;
	}
}

.wp-block-group h2 {
	font-size: 2rem;
	margin-bottom: 1em;
}

@media (max-width: 768px) {

	.wp-block-group h2 {
		font-size: 1.75rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h2 {
		font-size: 1.5rem;
	}
}

.wp-block-group h3 {
	font-size: 1.75rem;
	margin-bottom: 0.875em;
}

@media (max-width: 768px) {

	.wp-block-group h3 {
		font-size: 1.5rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h3 {
		font-size: 1.25rem;
	}
}

.wp-block-group h4 {
	font-size: 1.5rem;
	margin-bottom: 0.75em;
}

@media (max-width: 768px) {

	.wp-block-group h4 {
		font-size: 1.25rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h4 {
		font-size: 1.125rem;
	}
}

.wp-block-group h5 {
	font-size: 1.25rem;
	margin-bottom: 0.625em;
}

@media (max-width: 768px) {

	.wp-block-group h5 {
		font-size: 1.125rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h5 {
		font-size: 1rem;
	}
}

.wp-block-group h6 {
	font-size: 1rem;
	margin-bottom: 0.5em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.wp-block-group ul,
.wp-block-group ol {
	padding: 0;
	margin: 0 0 1.5em 1.5em;
	color: var(--color-text);
	line-height: 1.5;
	transition: color var(--theme-transition);
}

.wp-block-group ul:last-child,
.wp-block-group ol:last-child {
	margin-bottom: 0;
}

.wp-block-group ul {
	list-style: disc;
}

.wp-block-group ul ul {
	list-style: circle;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.wp-block-group ol {
	list-style: decimal;
}

.wp-block-group ol ol {
	list-style: lower-alpha;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.wp-block-group li {
	margin-bottom: 0.5em;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

.wp-block-group li:last-child {
	margin-bottom: 0;
}

.wp-block-group li > ul,
.wp-block-group li > ol {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.wp-block-group table {
	width: 100%;
	margin: 1.5em 0;
	border-collapse: collapse;
	border-spacing: 0;
	background-color: var(--color-surface);
	border-radius: 8px;
	overflow: hidden;
	min-width: 100%;
	transition: background-color var(--theme-transition);
}

.wp-block-group table:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {

	.wp-block-group table {
		display: table;
		width: 100%;
		min-width: 600px;
	}
}

.wp-block-group .wp-block-table,
.wp-block-group .wp-block-table__content-wrapper {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	margin: 1.5em 0;
	border-radius: 8px;
}

@media (max-width: 768px) {

	.wp-block-group .wp-block-table,
	.wp-block-group .wp-block-table__content-wrapper {
		box-shadow: inset -10px 0 10px -10px rgba(0, 0, 0, 0.5);
	}
}

.wp-block-group .wp-block-table table,
.wp-block-group .wp-block-table__content-wrapper table {
	margin: 0;
}

.wp-block-group .table-responsive {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	margin: 1.5em 0;
	border-radius: 8px;
}

@media (max-width: 768px) {

	.wp-block-group .table-responsive {
		box-shadow: inset -10px 0 10px -10px rgba(0, 0, 0, 0.5);
	}
}

.wp-block-group .table-responsive table {
	margin: 0;
	min-width: 600px;
}

.wp-block-group thead {
	background-color: var(--color-surface);
	border-bottom: 2px solid var(--color-primary);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

.wp-block-group tbody tr {
	border-bottom: 1px solid var(--color-border);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

.wp-block-group tbody tr:hover {
	background-color: var(--color-bg);
}

.wp-block-group tbody tr:last-child {
	border-bottom: none;
}

.wp-block-group tfoot {
	background-color: var(--color-surface);
	border-top: 2px solid var(--color-primary);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

.wp-block-group th,
.wp-block-group td {
	padding: 0.75rem 1rem;
	text-align: left;
	color: var(--color-text);
	vertical-align: top;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.wp-block-group th,
	.wp-block-group td {
		padding: 0.625rem 0.75rem;
		font-size: 0.875rem;
		white-space: nowrap;
	}
}

.wp-block-group th {
	font-weight: 700;
	color: var(--color-text);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.875rem;
	border-bottom: 2px solid var(--color-border);
	white-space: nowrap;
	transition: color var(--theme-transition), border-color var(--theme-transition);
}

.wp-block-group td {
	border-bottom: 1px solid var(--color-border);
	transition: border-color var(--theme-transition);
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked table {
		display: block;
		width: 100%;
		min-width: 100%;
	}
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked thead,
	.wp-block-group.table-stacked tbody,
	.wp-block-group.table-stacked tfoot {
		display: block;
		width: 100%;
	}
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked tr {
		display: block;
		width: 100%;
		margin-bottom: 1rem;
		border: 1px solid var(--color-border);
		border-radius: 6px;
		padding: 0.5rem 0;
		transition: border-color var(--theme-transition);
	}

	.wp-block-group.table-stacked tr:last-child {
		margin-bottom: 0;
	}
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked th {
		display: none;
	}
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked td {
		display: block;
		width: 100%;
		padding: 0.5rem 1rem;
		border: none;
		border-bottom: 1px solid var(--color-border);
		white-space: normal;
		transition: border-color var(--theme-transition);
	}

	.wp-block-group.table-stacked td:last-child {
		border-bottom: none;
	}

	.wp-block-group.table-stacked td[data-label]::before {
		content: attr(data-label);
		display: inline-block;
		font-weight: 700;
		color: var(--color-primary);
		margin-right: 0.5rem;
		min-width: 100px;
		transition: color var(--theme-transition);
	}
}

.wp-block-heading {
	color: var(--color-primary) !important;
	transition: color var(--theme-transition);
}

.wp-block-heading h1,
.wp-block-heading h2,
.wp-block-heading h3,
.wp-block-heading h4,
.wp-block-heading h5,
.wp-block-heading h6 {
	color: var(--color-primary) !important;
	transition: color var(--theme-transition);
}

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

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

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

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

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

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

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

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

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

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

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

.alignright {

	/*rtl:ignore*/
	float: right;

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

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