/*
Theme Name: Osty (Child Theme)
Theme URI: http://madsparrow.us/
Author: Mad Sparrow
Author URI: https://themeforest.net/user/madsparrow
Description: Osty Creative Agency and Portfolio Theme – The theme is built to take advantage of the Full Site Editing features introduced in WordPress and Elementor plugin, which means that colors, typography, and the layout of every single page on your site can be customized to suit your vision. Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
Tags: one-column, two-columns, right-sidebar, custom-menu, post-formats, sticky-post, translation-ready, page transition
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: osty
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
Template: osty
*/

/* Add your own modification from here
-------------------------------------------------------------- */
/* :root, [data-theme="dark"] {
    --color-primary: hsl(37, 99%, 73%);
    --color-contrast-higher: hsl(0, 0%, 96%);
    --color-contrast-medium: hsl(0, 0%, 57%);
    --color-contrast-low: hsl(0, 0%, 22%);
    --color-contrast-lower: hsl(0, 0%, 19%);
    --color-bg: hsl(0, 1%, 14%);
}

:root, [data-theme="light"] {
    --color-primary: hsl(38, 96%, 72%);
    --color-contrast-higher: hsl(0, 0%, 15%);
    --color-contrast-medium: hsl(0, 0%, 35%);
    --color-contrast-low: hsl(0, 0%, 70%);
    --color-contrast-lower: hsl(0, 0%, 92%);
    --color-bg: hsl(0, 0%, 96%);
} */

:root {
    --x-primary: var(--color-primary);
    --x-bg: var(--color-bg);
    --x-text-main: var(--color-contrast-higher);
    --x-text-muted: var(--color-contrast-medium);
    --x-border: var(--color-contrast-low);
    --x-border-subtle: var(--color-contrast-lower);
    --x-white: #ffffff;
    --x-black: #000000;
    --x-transparent: transparent;
    --x-font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --x-s-0: 0px;
    --x-s-1: 0.25rem;
    --x-s-2: 0.5rem;
    --x-s-3: 0.75rem;
    --x-s-4: 1rem;
    --x-s-5: 1.25rem;
    --x-s-6: 1.5rem;
    --x-s-8: 2rem;
    --x-s-10: 2.5rem;
    --x-s-12: 3rem;
    --x-s-16: 4rem;
    --x-s-20: 5rem;
    --x-s-24: 6rem;
    --x-w-full: 100%;
    --x-h-screen: 100vh;
    --x-radius-sm: 0.125rem;
    --x-radius-md: 0.375rem;
    --x-radius-lg: 0.5rem;
    --x-radius-xl: 0.75rem;
    --x-radius-full: 9999px;
    --x-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --x-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --x-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --x-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.x-container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--x-s-4);
    padding-left: var(--x-s-4);
    max-width: 1280px;
}

.x-block { display: block; }
.x-inline-block { display: inline-block; }
.x-inline { display: inline; }
.x-flex { display: flex; }
.x-inline-flex { display: inline-flex; }
.x-grid { display: grid; }
.x-hidden { display: none; }

.x-flex-row { flex-direction: row; }
.x-flex-row-reverse { flex-direction: row-reverse; }
.x-flex-col { flex-direction: column; }
.x-flex-col-reverse { flex-direction: column-reverse; }
.x-flex-wrap { flex-wrap: wrap; }
.x-flex-nowrap { flex-wrap: nowrap; }

.x-items-start { align-items: flex-start; }
.x-items-end { align-items: flex-end; }
.x-items-center { align-items: center; }
.x-items-baseline { align-items: baseline; }
.x-items-stretch { align-items: stretch; }

.x-justify-start { justify-content: flex-start; }
.x-justify-end { justify-content: flex-end; }
.x-justify-center { justify-content: center; }
.x-justify-between { justify-content: space-between; }
.x-justify-around { justify-content: space-around; }
.x-justify-evenly { justify-content: space-evenly; }

.x-grow { flex-grow: 1; }
.x-grow-0 { flex-grow: 0; }
.x-shrink { flex-shrink: 1; }
.x-shrink-0 { flex-shrink: 0; }

.x-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.x-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.x-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.x-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.x-gap-0 { gap: var(--x-s-0); }
.x-gap-1 { gap: var(--x-s-1); }
.x-gap-2 { gap: var(--x-s-2); }
.x-gap-3 { gap: var(--x-s-3); }
.x-gap-4 { gap: var(--x-s-4); }
.x-gap-5 { gap: var(--x-s-5); }
.x-gap-6 { gap: var(--x-s-6); }
.x-gap-8 { gap: var(--x-s-8); }
.x-gap-10 { gap: var(--x-s-10); }
.x-gap-12 { gap: var(--x-s-12); }

.x-p-0 { padding: var(--x-s-0); }
.x-p-1 { padding: var(--x-s-1); }
.x-p-2 { padding: var(--x-s-2); }
.x-p-3 { padding: var(--x-s-3); }
.x-p-4 { padding: var(--x-s-4); }
.x-p-5 { padding: var(--x-s-5); }
.x-p-6 { padding: var(--x-s-6); }
.x-p-8 { padding: var(--x-s-8); }
.x-p-10 { padding: var(--x-s-10); }
.x-p-12 { padding: var(--x-s-12); }
.x-p-16 { padding: var(--x-s-16); }
.x-p-20 { padding: var(--x-s-20); }

.x-px-0 { padding-left: var(--x-s-0); padding-right: var(--x-s-0); }
.x-px-1 { padding-left: var(--x-s-1); padding-right: var(--x-s-1); }
.x-px-2 { padding-left: var(--x-s-2); padding-right: var(--x-s-2); }
.x-px-3 { padding-left: var(--x-s-3); padding-right: var(--x-s-3); }
.x-px-4 { padding-left: var(--x-s-4); padding-right: var(--x-s-4); }
.x-px-5 { padding-left: var(--x-s-5); padding-right: var(--x-s-5); }
.x-px-6 { padding-left: var(--x-s-6); padding-right: var(--x-s-6); }
.x-px-8 { padding-left: var(--x-s-8); padding-right: var(--x-s-8); }
.x-px-10 { padding-left: var(--x-s-10); padding-right: var(--x-s-10); }

.x-py-0 { padding-top: var(--x-s-0); padding-bottom: var(--x-s-0); }
.x-py-1 { padding-top: var(--x-s-1); padding-bottom: var(--x-s-1); }
.x-py-2 { padding-top: var(--x-s-2); padding-bottom: var(--x-s-2); }
.x-py-3 { padding-top: var(--x-s-3); padding-bottom: var(--x-s-3); }
.x-py-4 { padding-top: var(--x-s-4); padding-bottom: var(--x-s-4); }
.x-py-5 { padding-top: var(--x-s-5); padding-bottom: var(--x-s-5); }
.x-py-6 { padding-top: var(--x-s-6); padding-bottom: var(--x-s-6); }
.x-py-8 { padding-top: var(--x-s-8); padding-bottom: var(--x-s-8); }
.x-py-10 { padding-top: var(--x-s-10); padding-bottom: var(--x-s-10); }

.x-m-0 { margin: var(--x-s-0); }
.x-m-1 { margin: var(--x-s-1); }
.x-m-2 { margin: var(--x-s-2); }
.x-m-3 { margin: var(--x-s-3); }
.x-m-4 { margin: var(--x-s-4); }
.x-m-5 { margin: var(--x-s-5); }
.x-m-6 { margin: var(--x-s-6); }
.x-m-8 { margin: var(--x-s-8); }
.x-m-auto { margin: auto; }

.x-mx-0 { margin-left: var(--x-s-0); margin-right: var(--x-s-0); }
.x-mx-1 { margin-left: var(--x-s-1); margin-right: var(--x-s-1); }
.x-mx-2 { margin-left: var(--x-s-2); margin-right: var(--x-s-2); }
.x-mx-3 { margin-left: var(--x-s-3); margin-right: var(--x-s-3); }
.x-mx-4 { margin-left: var(--x-s-4); margin-right: var(--x-s-4); }
.x-mx-auto { margin-left: auto; margin-right: auto; }

.x-my-0 { margin-top: var(--x-s-0); margin-bottom: var(--x-s-0); }
.x-my-1 { margin-top: var(--x-s-1); margin-bottom: var(--x-s-1); }
.x-my-2 { margin-top: var(--x-s-2); margin-bottom: var(--x-s-2); }
.x-my-3 { margin-top: var(--x-s-3); margin-bottom: var(--x-s-3); }
.x-my-4 { margin-top: var(--x-s-4); margin-bottom: var(--x-s-4); }

.x-w-full { width: 100%; }
.x-w-screen { width: 100vw; }
.x-w-auto { width: auto; }
.x-h-full { height: 100%; }
.x-h-screen { height: 100vh; }
.x-h-auto { height: auto; }

.x-text-xs :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 0.75rem; line-height: 1rem; }
.x-text-sm :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 0.875rem; line-height: 1.25rem; }
.x-text-base :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 1rem; line-height: 1.5rem; }
.x-text-lg :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 1.125rem; line-height: 1.75rem; }
.x-text-xl :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 1.25rem; line-height: 1.75rem; }
.x-text-2xl :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 1.5rem; line-height: 2rem; }
.x-text-3xl :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 1.875rem; line-height: 2.25rem; }
.x-text-4xl :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 2.25rem; line-height: 2.5rem; }
.x-text-5xl :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-size: 3rem; line-height: 1; }

.x-font-thin :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-weight: 100; }
.x-font-light :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-weight: 300; }
.x-font-normal :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-weight: 400; }
.x-font-medium :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-weight: 500; }
.x-font-semibold :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-weight: 600; }
.x-font-bold :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-weight: 700; }
.x-font-black :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { font-weight: 900; }

.x-text-left :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { text-align: left; }
.x-text-center :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { text-align: center; }
.x-text-right :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { text-align: right; }
.x-text-justify :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { text-align: justify; }

.x-uppercase :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { text-transform: uppercase; }
.x-lowercase :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { text-transform: lowercase; }
.x-capitalize :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { text-transform: capitalize; }

.x-bg-primary { background-color: var(--x-primary); }
.x-bg-main { background-color: var(--x-bg); }
.x-bg-white { background-color: var(--x-white); }
.x-bg-black { background-color: var(--x-black); }
.x-bg-transparent { background-color: var(--x-transparent); }

.x-text-primary :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { color: var(--x-primary); }
.x-text-main :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { color: var(--x-text-main); }
.x-text-muted :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { color: var(--x-text-muted); }
.x-text-white :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { color: var(--x-white); }
.x-text-black :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ) { color: var(--x-black); }

.x-border { border-width: 1px; border-style: solid; border-color: var(--x-border); }
.x-border-t { border-top-width: 1px; border-top-style: solid; border-top-color: var(--x-border); }
.x-border-r { border-right-width: 1px; border-right-style: solid; border-right-color: var(--x-border); }
.x-border-b { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: var(--x-border); }
.x-border-l { border-left-width: 1px; border-left-style: solid; border-left-color: var(--x-border); }

.x-border-0 { border-width: 0; }
.x-border-2 { border-width: 2px; }
.x-border-4 { border-width: 4px; }

.x-border-primary { border-color: var(--x-primary); }
.x-border-main { border-color: var(--x-border); }
.x-border-subtle { border-color: var(--x-border-subtle); }
.x-border-transparent { border-color: transparent; }

.x-rounded-none { border-radius: 0; }
.x-rounded-sm { border-radius: var(--x-radius-sm); }
.x-rounded { border-radius: var(--x-radius-md); }
.x-rounded-md { border-radius: var(--x-radius-md); }
.x-rounded-lg { border-radius: var(--x-radius-lg); }
.x-rounded-xl { border-radius: var(--x-radius-xl); }
.x-rounded-full { border-radius: var(--x-radius-full); }

.x-shadow-none { box-shadow: none; }
.x-shadow-sm { box-shadow: var(--x-shadow-sm); }
.x-shadow { box-shadow: var(--x-shadow); }
.x-shadow-md { box-shadow: var(--x-shadow-md); }
.x-shadow-lg { box-shadow: var(--x-shadow-lg); }

.x-opacity-0 { opacity: 0; }
.x-opacity-25 { opacity: 0.25; }
.x-opacity-50 { opacity: 0.5; }
.x-opacity-75 { opacity: 0.75; }
.x-opacity-100 { opacity: 1; }

.x-overflow-auto { overflow: auto; }
.x-overflow-hidden { overflow: hidden; }
.x-overflow-visible { overflow: visible; }
.x-overflow-scroll { overflow: scroll; }

.x-relative { position: relative; }
.x-absolute { position: absolute; }
.x-fixed { position: fixed; }
.x-sticky { position: sticky; }

.x-inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.x-top-0 { top: 0; }
.x-right-0 { right: 0; }
.x-bottom-0 { bottom: 0; }
.x-left-0 { left: 0; }

.x-z-0 { z-index: 0; }
.x-z-10 { z-index: 10; }
.x-z-20 { z-index: 20; }
.x-z-30 { z-index: 30; }
.x-z-40 { z-index: 40; }
.x-z-50 { z-index: 50; }

.x-cursor-auto { cursor: auto; }
.x-cursor-default { cursor: default; }
.x-cursor-pointer { cursor: pointer; }
.x-cursor-wait { cursor: wait; }
.x-cursor-text { cursor: text; }
.x-cursor-move { cursor: move; }
.x-cursor-not-allowed { cursor: not-allowed; }

.x-pointer-events-none { pointer-events: none; }
.x-pointer-events-auto { pointer-events: auto; }

.x-transition-none { transition-property: none; }
.x-transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.x-transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }

.x-duration-75 { transition-duration: 75ms; }
.x-duration-100 { transition-duration: 100ms; }
.x-duration-150 { transition-duration: 150ms; }
.x-duration-200 { transition-duration: 200ms; }
.x-duration-300 { transition-duration: 300ms; }
.x-duration-500 { transition-duration: 500ms; }

.x-ease-linear { transition-timing-function: linear; }
.x-ease-in { transition-timing-function: cubic-bezier(0.4, 0, 1, 1); }
.x-ease-out { transition-timing-function: cubic-bezier(0, 0, 0.2, 1); }
.x-ease-in-out { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }

.x-hover-bg-primary:hover { background-color: var(--x-primary); }
.x-hover-text-primary:hover { color: var(--x-primary); }
.x-hover-opacity-75:hover { opacity: 0.75; }
.x-hover-opacity-100:hover { opacity: 1; }

.x-focus-ring { outline: 2px solid var(--x-primary); outline-offset: 2px; }

@media (min-width: 640px) {
    .x-sm-block { display: block; }
    .x-sm-hidden { display: none; }
    .x-sm-flex { display: flex; }
    .x-sm-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
    .x-md-block { display: block; }
    .x-md-hidden { display: none; }
    .x-md-flex { display: flex; }
    .x-md-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
    .x-lg-block { display: block; }
    .x-lg-hidden { display: none; }
    .x-lg-flex { display: flex; }
    .x-lg-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* 1. Modern Method (Replaces the <img> source directly) */
@supports (content: url("")) {
    html[data-theme="dark"] .main-header__logo img {
        content: url('/wp-content/uploads/2026/01/x01works-1.svg');
    }

    html[data-theme="light"] .main-header__logo img {
        content: url('/wp-content/uploads/2026/01/x01works-light-1.svg');
    }
}

/* 2. Fallback Method (Background Image Swap for older browsers) */
@supports not (content: url("")) {
    html[data-theme="dark"] .main-header__logo img {
        opacity: 0;
        background: url('/wp-content/uploads/2026/01/x01works-1.svg') no-repeat center;
        background-size: contain;
        /* Ensure the background takes up space */
        display: block; 
        width: 100%;
        height: auto;
    }

    html[data-theme="light"] .main-header__logo img {
        opacity: 0;
        background: url('/wp-content/uploads/2026/01/x01works-light-1.svg') no-repeat center;
        background-size: contain;
        display: block;
        width: 100%;
        height: auto;
    }
}