/*!
Theme Name: Distansare
Theme URI: https://distansare.se/
Author: Distansare Team
Author URI: https://distansare.se/
Description: Custom theme for Distansare.se
Version: 1.0.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: distansare
Tags: job-board, remote-work, 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.

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

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


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

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

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

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

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

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

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
 body,
 html {
	 margin: 0;
	 padding: 0;
	 height: 100%;
 }
 .footer-menu a,
 .footer-section ul li a,
 .footer-social a {
	 transition: color 0.3s;
	 text-decoration: none;
	 color: #e8e8e8;
 }
 button,
 hr,
 input {
	 overflow: visible;
 }
 progress,
 sub,
 sup {
	 vertical-align: baseline;
 }
 html,
 legend {
	 box-sizing: border-box;
 }
 hr,
 p {
	 margin-bottom: 1.5em;
 }
 pre,
 textarea {
	 overflow: auto;
 }
 .main-navigation li,
 .primary-menu li,
 sub,
 sup {
	 position: relative;
 }
 .blog-heading,
 .footer-bottom,
 .footer-navigation,
 .gallery-item,
 .job-count-summary-section,
 .related-categories h3,
 .wp-caption-text {
	 text-align: center;
 }
 .category-card,
 body.mobile-menu-open {
	 overflow: hidden;
 }
 html {
	 line-height: 1.15;
	 -webkit-text-size-adjust: 100%;
 }
 body {
	 min-height: 100%;
	 background: #fff;
 }
 .site-main {
	 padding-left: 2rem;
	 padding-right: 2rem;
 }
 .page .site-main,
 .single-job_listing .site-main,
 .tax-job_category .site-main {
	 padding-left: 0;
	 padding-right: 0;
 }
 .single-post .post {
	 max-width: 800px;
	 margin: 0 auto;
	 background-color: #fff;
	 border-radius: 8px;
	 padding: 2rem;
	 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
 }
 .single-post .post h1 {
	 color: var(--text-dark);
	 margin-bottom: 1rem;
	 font-size: 2rem;
	 line-height: 1.3;
 }
 .single-post .post-content {
	 line-height: 1.7;
	 color: var(--text-light);
	 font-size: 1.1rem;
 }
 .single-post .post-content p {
	 margin-bottom: 1.5rem;
 }
 .single-post .updated-date {
	 display: block;
	 font-style: italic;
	 color: #888;
	 margin-bottom: 2rem;
	 font-size: 0.9rem;
 }
 .page .entry-content > .wp-block-heading,
 .page .entry-content > .wp-block-paragraph,
 .page .entry-content > blockquote,
 .page .entry-content > h1,
 .page .entry-content > h2,
 .page .entry-content > h3,
 .page .entry-content > h4,
 .page .entry-content > h5,
 .page .entry-content > h6,
 .page .entry-content > ol,
 .page .entry-content > p,
 .page .entry-content > ul {
	 max-width: 800px;
	 margin-left: auto;
	 margin-right: auto;
	 padding-left: 2rem;
	 padding-right: 2rem;
 }
 .full-width,
 .full-width-section,
 .spectra-full-width {
	 width: 100vw !important;
	 max-width: none !important;
	 margin-left: calc(-50vw + 50%) !important;
	 margin-right: calc(-50vw + 50%) !important;
	 padding-left: 0 !important;
	 padding-right: 0 !important;
 }
 .video-container,
 .wp-block-embed,
 .wp-block-video,
 iframe,
 video {
	 max-width: 100% !important;
 }
 .footer-container,
 .full-width .container,
 .full-width-section .container,
 .spectra-full-width .container {
	 max-width: 1200px;
	 margin: 0 auto;
	 padding: 0 20px;
 }
 .widget select,
 .wp-caption,
 embed,
 iframe,
 img,
 legend,
 object,
 pre {
	 max-width: 100%;
 }
 .page,
 .post,
 .site-main .comment-navigation,
 .site-main .post-navigation,
 .site-main .posts-navigation,
 .widget,
 address,
 table {
	 margin: 0 0 1.5em;
 }
 .single-job-breadcrumb {
	 padding-left: 11rem;
 }
 .site-footer {
	 background: #2c3e50;
 }
 .footer-content {
	 display: grid;
	 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	 gap: 2rem;
	 padding: 3rem 0;
 }
 .footer-bottom,
 .footer-navigation {
	 border-top: 1px solid #34495e;
	 padding: 1.5rem 0;
 }
 .footer-section h3,
 .site-footer .footer-section h3,
 .footer-content .footer-section h3 {
	 color: #fff !important;
	 font-size: 1.2rem;
	 margin-bottom: 1rem;
	 font-weight: 600;
 }
 .footer-section p {
	 color: #e8e8e8;
	 line-height: 1.6;
	 margin-bottom: 1rem;
 }
 .footer-section ul {
	 list-style: none;
	 padding: 0;
	 margin: 0;
 }
 .footer-section ul li {
	 margin-bottom: 0.5rem;
 }
 .footer-menu a:hover,
 .footer-section ul li a:hover,
 .footer-social a:hover {
	 color: #3498db;
 }
 .footer-social a {
	 margin-right: 1rem;
 }
 .footer-bottom .site-info a:hover,
 abbr[title] {
	 text-decoration: underline;
 }
 .footer-menu {
	 display: flex;
	 justify-content: center;
	 flex-wrap: wrap;
	 gap: 2rem;
 }
 .footer-bottom .site-info {
	 color: #e8e8e8;
	 font-size: 0.9rem;
 }
 .footer-bottom .site-info a,
 .site-footer .creds a,
 .footer-bottom .creds a {
	 color: #fff !important;
	 text-decoration: underline !important;
	 font-weight: 500 !important;
 }
 .footer-bottom .site-info a:hover,
 .site-footer .creds a:hover,
 .footer-bottom .creds a:hover {
	 color: #3498db !important;
	 text-decoration: underline !important;
 }
 @media (max-width: 768px) {
	 .single-job-breadcrumb,
	 .site-main {
		 padding-left: 1rem;
	 }
	 .site-main {
		 padding-right: 1rem;
	 }
	 .footer-content {
		 grid-template-columns: 1fr;
		 gap: 1.5rem;
		 padding: 2rem 0;
	 }
	 .footer-menu {
		 flex-direction: column;
		 gap: 1rem;
	 }
 }
 .bypostauthor,
 .gallery-caption,
 .infinity-end.neverending .site-footer,
 .main-navigation.toggled ul,
 .menu-toggle,
 .sticky,
 details,
 main {
	 display: block;
 }
 h1 {
	 font-size: 2em;
	 margin: 0.67em 0;
 }
 code,
 kbd,
 pre,
 samp {
	 font-size: 1em;
 }
 hr {
	 box-sizing: content-box;
	 background-color: #ccc;
	 border: 0;
	 height: 1px;
 }
 a {
	 background-color: transparent;
	 color: #4169e1;
	 color: var(--primary-color);
 }
 abbr[title] {
	 border-bottom: none;
	 text-decoration: underline dotted;
 }
 .category-card-link,
 .footer-menu li a,
 .main-navigation a,
 .primary-menu li a,
 .read-more,
 .related-job-link,
 .secondary-menu li a,
 .site-info a,
 .site-title a,
 .top-bar-menu li a,
 ins,
 mark {
	 text-decoration: none;
 }
 b,
 strong {
	 font-weight: bolder;
 }
 code,
 kbd,
 samp {
	 font-family: monospace, monospace;
 }
 small {
	 font-size: 80%;
 }
 sub,
 sup {
	 font-size: 75%;
	 line-height: 0;
 }
 sub {
	 bottom: -0.25em;
 }
 sup {
	 top: -0.5em;
 }
 img {
	 border-style: none;
	 height: auto;
 }
 button,
 input,
 optgroup,
 select,
 textarea {
	 font-family: inherit;
	 margin: 0;
 }
 button,
 select {
	 text-transform: none;
 }
 [type="button"],
 [type="reset"],
 [type="submit"],
 button {
	 -webkit-appearance: button;
 }
 [type="button"]::-moz-focus-inner,
 [type="reset"]::-moz-focus-inner,
 [type="submit"]::-moz-focus-inner,
 button::-moz-focus-inner {
	 border-style: none;
	 padding: 0;
 }
 [type="button"]:-moz-focusring,
 [type="reset"]:-moz-focusring,
 [type="submit"]:-moz-focusring,
 button:-moz-focusring {
	 outline: ButtonText dotted 1px;
 }
 fieldset {
	 padding: 0.35em 0.75em 0.625em;
 }
 legend {
	 color: inherit;
	 display: table;
	 padding: 0;
	 white-space: normal;
 }
 textarea {
	 width: 100%;
 }
 [type="checkbox"],
 [type="radio"] {
	 box-sizing: border-box;
	 padding: 0;
 }
 [type="number"]::-webkit-inner-spin-button,
 [type="number"]::-webkit-outer-spin-button {
	 height: auto;
 }
 [type="search"] {
	 -webkit-appearance: textfield;
	 outline-offset: -2px;
 }
 [type="search"]::-webkit-search-decoration {
	 -webkit-appearance: none;
 }
 ::-webkit-file-upload-button {
	 -webkit-appearance: button;
	 font: inherit;
 }

 .updated-date,
 cite,
 dfn,
 em,
 i {
	 font-style: italic;
 }
 summary {
	 display: list-item;
 }
 .infinite-scroll .posts-navigation,
 .infinite-scroll.neverending .site-footer,
 .mobile-sidebar-container,
 .updated:not(.published),
 [hidden],
 template {
	 display: none;
 }
 *,
 ::after,
 ::before {
	 box-sizing: inherit;
 }
 body,
 button,
 input,
 optgroup,
 select,
 textarea {
	 color: #404040;
	 font-family: "Lexend Deca", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	 font-size: 1rem;
	 line-height: 1.5;
 }
 h1,
 h2,
 h3,
 h4,
 h5,
 h6 {
	 clear: both;
 }
 blockquote {
	 margin: 0 1.5em;
 }
 pre {
	 background: #eee;
	 font-family: "Courier 10 Pitch", courier, monospace;
	 line-height: 1.6;
	 margin-bottom: 1.6em;
	 padding: 1.6em;
 }
 code,
 kbd,
 tt,
 var {
	 font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
 }
 abbr,
 acronym {
	 border-bottom: 1px dotted #666;
	 cursor: help;
 }
 ins,
 mark {
	 background: #fff9c0;
 }
 big {
	 font-size: 125%;
 }
 ol,
 ul {
	 margin: 0 0 1.5em 3em;
 }
 ul {
	 list-style: disc;
 }
 ol {
	 list-style: decimal;
 }
 li > ol,
 li > ul {
	 margin-bottom: 0;
	 margin-left: 1.5em;
 }
 dt {
	 font-weight: 700;
 }
 dd {
	 margin: 0 1.5em 1.5em;
 }
 figure {
	 margin: 1em 0;
 }
 table {
	 width: 100%;
 }
 a:visited {
	 color: #4169e1;
	 color: var(--primary-color);
 }
 a:active,
 a:focus,
 a:hover {
	 color: #191970;
 }
 a:focus {
	 outline: dotted thin;
 }
 #primary[tabindex="-1"]:focus,
 a:active,
 a:hover {
	 outline: 0;
 }
 button,
 input[type="button"],
 input[type="reset"],
 input[type="submit"] {
	 border: 1px solid;
	 border-color: #ccc #ccc #bbb;
	 border-radius: 3px;
	 background: #e6e6e6;
	 color: rgba(0, 0, 0, 0.8);
	 line-height: 1;
	 padding: 0.6em 1em 0.4em;
 }
 button:hover,
 input[type="button"]:hover,
 input[type="reset"]:hover,
 input[type="submit"]:hover {
	 border-color: #ccc #bbb #aaa;
 }
 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 {
	 border-color: #aaa #bbb #bbb;
 }
 input[type="color"],
 input[type="date"],
 input[type="datetime-local"],
 input[type="datetime"],
 input[type="email"],
 input[type="month"],
 input[type="number"],
 input[type="password"],
 input[type="range"],
 input[type="search"],
 input[type="tel"],
 input[type="text"],
 input[type="time"],
 input[type="url"],
 input[type="week"],
 textarea {
	 color: #666;
	 border: 1px solid #ccc;
	 border-radius: 3px;
	 padding: 3px;
 }
 input[type="color"]:focus,
 input[type="date"]:focus,
 input[type="datetime-local"]:focus,
 input[type="datetime"]:focus,
 input[type="email"]:focus,
 input[type="month"]:focus,
 input[type="number"]:focus,
 input[type="password"]:focus,
 input[type="range"]:focus,
 input[type="search"]:focus,
 input[type="tel"]:focus,
 input[type="text"]:focus,
 input[type="time"]:focus,
 input[type="url"]:focus,
 input[type="week"]:focus,
 textarea:focus {
	 color: #111;
 }
 .primary-menu li a:hover,
 .primary-menu li.current-menu-item a,
 .site-title a {
	 color: var(--primary-color);
 }
 select {
	 border: 1px solid #ccc;
 }
 .main-navigation {
	 display: block;
	 width: 100%;
 }
 .main-navigation ul {
	 display: none;
	 list-style: none;
	 margin: 0;
	 padding-left: 0;
 }
 .main-navigation ul ul {
	 box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	 float: left;
	 position: absolute;
	 top: 100%;
	 left: -999em;
	 z-index: 99999;
 }
 .main-navigation ul ul ul {
	 left: -999em;
	 top: 0;
 }
 .main-navigation ul ul li.focus > ul,
 .main-navigation ul ul li:hover > ul {
	 display: block;
	 left: auto;
 }
 .main-navigation ul ul a {
	 width: 200px;
 }
 .main-navigation ul li.focus > ul,
 .main-navigation ul li:hover > ul {
	 left: auto;
 }
 .main-navigation a {
	 display: block;
 }
 @media screen and (min-width: 37.5em) {
	 .menu-toggle {
		 display: none;
	 }
	 .main-navigation ul {
		 display: flex;
	 }
 }
 .comment-navigation .nav-links,
 .post-navigation .nav-links,
 .posts-navigation .nav-links {
	 display: flex;
 }
 .comment-navigation .nav-previous,
 .post-navigation .nav-previous,
 .posts-navigation .nav-previous {
	 flex: 1 0 50%;
 }
 .comment-navigation .nav-next,
 .post-navigation .nav-next,
 .posts-navigation .nav-next {
	 text-align: end;
	 flex: 1 0 50%;
 }
 .entry-content,
 .entry-summary,
 .page-content {
	 margin: 1.5em 0 0;
 }
 .job-tags,
 .page .entry-content {
	 margin-top: 0;
 }
 .page .entry-content > :first-child,
 .uagb-section__wrap:first-child,
 .wp-block-uagb-container:first-child {
	 margin-top: 0 !important;
 }
 .page-links {
	 clear: both;
	 margin: 0 0 1.5em;
 }
 .aligncenter,
 .alignleft,
 .alignright,
 .gallery,
 .wp-caption {
	 margin-bottom: 1.5em;
 }
 .comment-content a {
	 word-wrap: break-word;
 }
 .comment-content .wp-smiley,
 .entry-content .wp-smiley,
 .page-content .wp-smiley {
	 border: none;
	 margin-bottom: 0;
	 margin-top: 0;
	 padding: 0;
 }
 .wp-caption img[class*="wp-image-"] {
	 display: block;
	 margin-left: auto;
	 margin-right: auto;
 }
 .wp-caption .wp-caption-text {
	 margin: 0.8075em 0;
 }
 .gallery {
	 display: grid;
	 grid-gap: 1.5em;
 }
 .gallery-item {
	 display: inline-block;
	 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);
 }
 .screen-reader-text:focus {
	 background-color: #f1f1f1;
	 border-radius: 3px;
	 box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	 clip: auto !important;
	 clip-path: none;
	 color: #21759b;
	 display: block;
	 font-size: 0.875rem;
	 font-weight: 700;
	 height: auto;
	 left: 5px;
	 line-height: normal;
	 padding: 15px 23px 14px;
	 text-decoration: none;
	 top: 5px;
	 width: auto;
	 z-index: 100000;
 }
 .alignleft {
	 float: left;
	 margin-right: 1.5em;
 }
 .alignright {
	 float: right;
	 margin-left: 1.5em;
 }
 .aligncenter {
	 clear: both;
	 display: block;
	 margin-left: auto;
	 margin-right: auto;
 }
 .top-bar {
	 background-color: var(--accent-color);
	 color: #fff;
	 font-size: 14px;
	 padding: 8px 0;
 }
 .top-bar-container {
	 max-width: 1200px;
	 margin: 0 auto;
	 padding: 0 20px;
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
 }
 .top-bar-text {
	 font-weight: 500;
 }
 .secondary-menu,
 .top-bar-menu {
	 display: flex;
	 list-style: none;
	 margin: 0;
	 padding: 0;
	 gap: 20px;
 }
 .top-bar-menu li:not(:last-child)::after {
	 content: "|";
	 color: rgba(255, 255, 255, 0.5);
	 margin-left: 10px;
	 font-weight: 400;
 }
 .top-bar-menu li a {
	 color: #fff;
	 font-size: 13px;
	 padding: 5px 0;
	 transition: opacity 0.3s;
 }
 .footer-menu li a:hover,
 .site-info a:hover,
 .site-title a:hover,
 .top-bar-menu li a:hover {
	 opacity: 0.8;
 }
 .site-header {
	 background-color: #f1f6f9;
	 position: sticky;
	 top: 0;
	 z-index: 100;
	 height: 85px;
 }
 .header-container {
	 max-width: 1200px;
	 margin: 0 auto;
	 padding: 0 20px;
	 display: flex;
	 align-items: center;
	 min-height: 70px;
	 position: relative;
 }
 .site-branding {
	 display: flex;
	 align-items: center;
	 flex: 0 0 auto;
 }
 .site-text {
	 display: flex;
	 flex-direction: column;
	 margin-left: 10px;
 }
 .site-title {
	 margin: 0;
	 font-size: 20px;
	 font-weight: 600;
	 padding: 10px;
 }
 .site-description {
	 margin: -5px 0 0 0;
	 font-size: 14px;
	 color: #666;
	 padding: 0 10px;
 }
 .custom-logo-link {
	 display: block;
	 max-width: 200px;
 }
 .blog-container,
 .category-header,
 .search-container {
	 max-width: 800px;
	 padding: 20px;
 }
 .custom-logo {
	 max-height: 50px;
	 width: auto;
 }
 .main-navigation {
	 display: flex;
	 align-items: center;
	 margin-left: auto;
	 flex: 1;
	 justify-content: flex-end;
 }
 .nav-menu-wrapper {
	 display: flex;
	 align-items: center;
	 gap: 30px;
 }
 .primary-menu {
	 display: flex;
	 list-style: none;
	 margin: 0;
	 padding: 0;
	 gap: 30px;
 }
 .primary-menu li a {
	 color: var(--text-dark);
	 font-weight: 500;
	 padding: 10px 0;
	 font-size: 16px;
	 transition: color 0.3s;
	 display: block;
 }
 .secondary-navigation {
	 border-left: 1px solid #eee;
	 padding-left: 30px;
 }
 .secondary-menu li a {
	 color: var(--text-light);
	 font-size: 14px;
	 font-weight: 500;
	 padding: 8px 16px;
	 border: 1px solid var(--border-color);
	 border-radius: 6px;
	 transition: 0.3s;
 }
 .secondary-menu li a:hover {
	 background-color: var(--primary-color);
	 color: #fff;
	 border-color: var(--primary-color);
 }
 .primary-menu .sub-menu,
 .secondary-menu .sub-menu {
	 position: absolute;
	 top: 100%;
	 left: 0;
	 background-color: #fff;
	 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	 border-radius: 6px;
	 padding: 10px 0;
	 min-width: 200px;
	 opacity: 0;
	 visibility: hidden;
	 transform: translateY(-10px);
	 transition: 0.3s;
	 z-index: 1000;
	 list-style: none;
 }
 .primary-menu li:hover .sub-menu,
 .secondary-menu li:hover .sub-menu {
	 opacity: 1;
	 visibility: visible;
	 transform: translateY(0);
 }
 .sub-menu li {
	 width: 100%;
 }
 .sub-menu li a {
	 padding: 12px 20px;
	 color: var(--text-dark);
	 border-bottom: 1px solid #f5f5f5;
	 font-size: 14px;
 }
 .sub-menu li:last-child a {
	 border-bottom: none;
 }
 .sub-menu li a:hover {
	 background-color: var(--background-light);
	 color: var(--primary-color);
 }
 .menu-toggle {
	 display: none;
	 background: 0 0;
	 border: none;
	 cursor: pointer;
	 padding: 8px;
	 flex-direction: column;
	 gap: 4px;
	 width: 44px;
	 height: 44px;
	 justify-content: center;
	 align-items: center;
	 position: relative;
	 z-index: 1001;
	 border-radius: 4px;
	 transition: background-color 0.3s;
 }
 .menu-toggle:focus,
 .menu-toggle:hover {
	 background-color: rgba(0, 0, 0, 0.05);
	 outline: 0;
 }
 .menu-toggle:active {
	 background-color: rgba(0, 0, 0, 0.1);
 }
 .hamburger-line {
	 width: 25px;
	 height: 3px;
	 background-color: var(--text-dark);
	 transition: 0.3s;
	 transform-origin: center;
 }
 .menu-toggle.active .hamburger-line:first-child {
	 transform: rotate(45deg) translate(7px, 7px);
 }
 .menu-toggle.active .hamburger-line:nth-child(2) {
	 opacity: 0;
 }
 .menu-toggle.active .hamburger-line:nth-child(3) {
	 transform: rotate(-45deg) translate(7px, -7px);
 }
 .site-footer {
	 background-color: var(--accent-color);
	 color: #fff;
	 padding: 40px 0 20px;
	 margin-top: 50px;
 }
 #job-listing-sidebar,
 .job-board-item,
 .post,
 .related-job-item {
	 background-color: #fff;
 }
 .footer-navigation {
	 margin-bottom: 30px;
	 padding-bottom: 30px;
	 border-bottom: 1px solid rgba(255, 255, 255, 0.2);
 }
 .footer-menu {
	 display: flex;
	 justify-content: center;
	 list-style: none;
	 margin: 0;
	 padding: 0;
	 gap: 30px;
	 flex-wrap: wrap;
 }
 .footer-menu li a {
	 color: #fff;
	 font-size: 14px;
	 font-weight: 500;
	 transition: opacity 0.3s;
 }
 .footer-info {
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
	 flex-wrap: wrap;
	 gap: 20px;
 }
 .site-info {
	 color: rgba(255, 255, 255, 0.8);
	 font-size: 14px;
 }
 .site-info a {
	 color: #fff;
 }
 .category-card,
 .job-board-item,
 .related-job-item {
	 transition: box-shadow 0.3s, transform 0.2s;
 }
 .primary-menu li.focus > .sub-menu,
 .primary-menu li:focus-within > .sub-menu,
 .secondary-menu li.focus > .sub-menu,
 .secondary-menu li:focus-within > .sub-menu {
	 opacity: 1;
	 visibility: visible;
	 transform: translateY(0);
 }
 :root {
	 --primary-color: #164863;
	 --secondary-color: #427d9d;
	 --accent-color: #2c5530;
	 --text-dark: #333;
	 --text-light: #666;
	 --background-light: #f8f9fa;
	 --border-color: #ddd;
 }
 .job-board-item,
 .single-job_listing .job-info {
	 border: 1px solid var(--border-color);
	 padding: 20px;
 }
 .single-job_listing {
	 margin-top: 0;
	 padding-top: 0;
 }
 .single-job_listing .site-content {
	 padding: 20px;
 }
 .single-job_listing .job-info {
	 background: var(--background-light);
 }
 .single-job_listing .job-title {
	 font-size: 24px;
	 font-weight: 700;
	 text-align: left;
 }
 .single-job_listing .company-name {
	 font-size: 18px;
	 color: #555;
 }
 .single-job_listing .application-deadline,
 .single-job_listing .location,
 .single-job_listing .salary {
	 margin-top: 10px;
	 font-size: 16px;
 }
 .single-job_listing .job-description {
	 margin-top: 20px;
	 font-size: 16px;
 }
 .job-board-item {
	 border-radius: 8px;
	 margin-bottom: 15px;
	 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
 }
 .category-card:hover,
 .job-board-item:hover,
 .related-job-item:hover {
	 box-shadow: 0 4px 12px rgba(22, 72, 99, 0.1);
	 transform: translateY(-2px);
 }
 #job-listing-sidebar {
	 width: 350px;
	 padding: 0;
	 float: right;
	 border-radius: 10px;
	 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	 margin-top: 4rem;
	 margin-right: 8rem;
 }
 .content-area {
	 width: calc(100% - 520px);
	 float: left;
	 padding-top: 2rem;
	 padding-left: 2rem;
	 padding-right: 1rem;
 }
 .content-area:not(:has(+ #job-listing-sidebar)),
 .single-job_listing .content-area:only-child {
	 width: 100%;
	 max-width: 1200px;
	 margin: 0 auto;
	 float: none;
 }
 .clearfix::after {
	 content: "";
	 clear: both;
	 display: table;
 }
 .job-board-item .related-jobs-section {
	 margin: 40px -10px 0 !important;
	 padding: 30px 10px !important;
	 background-color: #f8f9fa !important;
	 border-radius: 8px !important;
	 border: 1px solid #e1e5e9 !important;
	 width: auto !important;
 }
 .related-jobs-section h2 {
	 color: var(--primary-color);
	 font-size: 24px;
	 font-weight: 700;
	 margin-bottom: 20px;
	 text-align: center;
 }
 .related-jobs-grid {
	 display: grid;
	 grid-template-columns: 1fr;
	 gap: 20px;
	 margin-bottom: 20px;
 }
 .related-job-item {
	 border: 1px solid var(--border-color);
	 border-radius: 8px;
	 padding: 20px;
	 width: auto;
 }
 .related-job-link {
	 color: inherit;
	 display: block;
 }
 .related-job-title {
	 color: var(--primary-color);
	 font-size: 18px;
	 font-weight: 600;
	 margin-bottom: 8px;
	 line-height: 1.3;
 }
 .related-job-company {
	 color: var(--secondary-color);
	 font-size: 16px;
	 font-weight: 500;
	 margin-bottom: 6px;
 }
 .related-job-location {
	 color: var(--text-light);
	 font-size: 14px;
	 margin-bottom: 12px;
 }
 .related-job-categories {
	 display: flex;
	 flex-wrap: wrap;
	 gap: 6px;
 }
 .job-category-tag {
	 background-color: var(--accent-color);
 }
 .related-categories {
	 margin-top: 40px;
	 max-width: 1200px;
	 margin-left: auto;
	 margin-right: auto;
	 padding-left: 2rem;
	 padding-right: 1rem;
 }
 .related-categories h3 {
	 color: var(--primary-color);
	 font-size: 24px;
	 font-weight: 700;
	 margin-bottom: 24px;
 }
 .category-grid {
	 display: grid;
	 grid-template-columns: 1fr;
	 gap: 16px;
	 margin-bottom: 24px;
 }
 .category-card {
	 background-color: #fff;
	 border: 1px solid var(--border-color);
	 border-radius: 8px;
 }
 .category-card-link {
	 display: block;
	 padding: 20px;
	 color: inherit;
 }
 .category-name {
	 color: var(--primary-color);
	 font-size: 16px;
	 font-weight: 600;
	 margin-bottom: 8px;
	 line-height: 1.3;
 }
 .category-description,
 .post p {
	 line-height: 1.6;
	 font-size: 16px;
 }
 .job-count {
	 color: var(--text-light);
	 font-size: 14px;
	 font-weight: 400;
 }
 .read-more,
 .search-submit {
	 color: #fff;
	 transition: background-color 0.3s;
 }
 input[type="search"] {
	 border: 3px solid #eee;
	 border-radius: 10px;
 }
 input[type="search"]::placeholder {
	 color: #575760;
 }
 button {
	 border-radius: 10px;
	 background-color: var(--secondary-color);
	 width: auto;
 }
 .search-submit {
	 padding: 12px 24px;
	 background-color: #005f8d;
	 border: none;
	 border-radius: 8px;
	 font-size: 16px;
	 cursor: pointer;
	 white-space: nowrap;
 }
 .search-submit:hover {
	 background-color: var(--primary-color);
 }
 .read-more {
	 display: inline-block;
	 margin-top: 10px;
	 padding: 10px 15px;
	 background-color: var(--secondary-color);
	 border-radius: 5px;
	 font-size: 14px;
 }
 .blog-heading,
 .post h2 {
	 color: var(--text-dark);
 }
 .read-more:hover {
	 background-color: #005f8d;
 }
 .blog-container {
	 margin: 0 auto;
	 display: flex;
	 flex-direction: column;
	 justify-content: center;
 }
 .blog-heading {
	 font-size: 36px;
	 margin-bottom: 30px;
	 font-family: Arial, sans-serif;
 }
 .post {
	 border: 1px solid #e0e0e0;
	 border-radius: 8px;
	 padding: 20px;
	 margin-bottom: 20px;
	 width: 100%;
	 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	 transition: box-shadow 0.3s;
	 text-align: left;
 }
 .post:hover {
	 box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
 }
 .post h2 {
	 font-size: 24px;
	 margin-bottom: 15px;
 }
 .post-thumbnail img {
	 width: 100%;
	 height: auto;
	 border-radius: 8px;
	 margin-bottom: 15px;
 }
 .post p {
	 color: var(--text-light);
 }
 .category-header {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 margin: 0 auto;
	 gap: 20px;
 }
 .category-header .category-image {
	 width: 200px;
	 height: auto;
 }
 .category-text-content,
 .search-box-location {
	 flex: 1;
 }
 .category-description {
	 margin-top: 10px;
	 text-align: center;
 }
 .search-container {
	 margin: 0 auto;
 }
 .search-boxes {
	 display: flex;
	 gap: 15px;
	 align-items: center;
 }
 .search-box-main {
	 flex: 3;
 }
 .search-box input {
	 width: 100%;
	 padding: 12px;
	 border: 2px solid var(--border-color);
	 border-radius: 8px;
	 font-size: 16px;
	 transition: border-color 0.3s;
 }
 .search-box input:focus {
	 border-color: var(--secondary-color);
	 outline: 0;
 }
 .breadcrumb-nav {
	 margin-bottom: 1rem;
	 font-size: 0.9rem;
 }
 .breadcrumb-nav ol {
	 list-style: none;
	 padding: 0;
	 margin: 0;
	 display: flex;
	 flex-wrap: wrap;
 }
 .breadcrumb-nav li:not(:last-child)::after {
	 content: " › ";
	 margin: 0 0.5rem;
	 color: var(--text-light);
 }
 .job-count-summary {
	 font-size: 1.1rem;
	 margin: 0.5rem 0 1rem;
	 color: var(--text-light);
 }
 .job-board-header {
	 font-size: 1.3rem;
	 margin-bottom: 0;
	 color: var(--text-dark);
	 border-bottom: 2px solid #eee;
	 padding-bottom: 0;
 }
 .company-logo-section,
 .single-job_listing .job-board-item .company-logo-section {
	 text-align: center;
	 margin: -20px -20px 2rem !important;
	 padding: 2rem 1rem;
	 background-color: #f8f9fa;
	 border-radius: 8px 8px 0 0;
	 border-bottom: 3px solid #e9ecef;
	 position: relative;
 }
 /* Position save button in top-right of company logo section */
 .single-job_listing .company-logo-section::after {
	 content: '';
	 position: absolute;
	 top: 15px;
	 right: 15px;
	 width: 30px;
	 height: 30px;
	 z-index: 10;
 }
 .single-job_listing .job-save-button,
 .single-job_listing .save-btn {
	 display: none !important;
 }
 .company-logo-section img {
	 max-height: 100px;
	 max-width: 250px;
	 width: auto;
	 height: auto;
	 object-fit: contain;
	 border-radius: 8px;
	 border: 1px solid #e0e0e0;
	 padding: 12px;
	 background: #fff;
	 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
 }
 .job-title {
	 font-size: 1.1rem;
	 font-weight: 600;
	 margin: 0 0 0.25rem;
 }
 @media (max-width: 768px) {
	 .top-bar-container {
		 flex-direction: column;
		 gap: 10px;
		 padding: 10px 20px;
	 }
	 .top-bar-menu {
		 gap: 15px;
		 font-size: 12px;
	 }
	 .header-container {
		 padding: 0 70px 0 15px;
		 min-height: 60px;
	 }
	 .site-title {
		 font-size: 24px;
	 }
	 .menu-toggle {
		 display: flex !important;
		 position: absolute;
		 right: 15px;
		 top: 50%;
		 transform: translateY(-50%);
	 }
	 .main-navigation {
		 margin-left: 0;
		 width: 100%;
		 position: static;
	 }
	 .nav-menu-wrapper {
		 position: absolute;
		 top: 100%;
		 left: 0;
		 right: 0;
		 background-color: #fff;
		 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
		 padding: 20px;
		 flex-direction: column;
		 gap: 0;
		 transform: translateY(-10px);
		 transition: 0.3s;
		 z-index: 1000;
		 display: none;
	 }
	 .nav-menu-wrapper.active {
		 display: flex !important;
		 transform: translateY(0);
		 opacity: 1;
		 visibility: visible;
		 max-height: calc(100vh - 60px);
		 overflow-y: auto;
	 }
	 .primary-menu,
	 .secondary-menu {
		 flex-direction: column;
		 gap: 0;
		 width: 100%;
		 display: flex !important;
		 list-style: none;
		 margin: 0;
		 padding: 0;
	 }
	 .primary-menu li a,
	 .secondary-menu li a {
		 padding: 15px 0;
		 border-bottom: 1px solid #f5f5f5;
		 font-size: 16px;
		 color: var(--text-dark);
		 text-decoration: none;
		 display: block;
	 }
	 .primary-menu li:last-child a,
	 .secondary-menu li:last-child a {
		 border-bottom: none;
	 }
	 .secondary-navigation {
		 border-left: none;
		 border-top: 1px solid #eee;
		 padding-left: 0;
		 padding-top: 20px;
		 margin-top: 20px;
		 width: 100%;
	 }
	 .secondary-menu li a {
		 border: 1px solid var(--border-color);
		 border-radius: 6px;
		 margin-bottom: 10px;
		 text-align: center;
	 }
	 .footer-menu {
		 flex-direction: column;
		 gap: 15px;
	 }
	 .footer-info {
		 flex-direction: column;
		 text-align: center;
		 gap: 15px;
	 }
	 .primary-menu .sub-menu,
	 .secondary-menu .sub-menu {
		 position: static;
		 opacity: 1;
		 visibility: visible;
		 transform: none;
		 box-shadow: none;
		 background-color: var(--background-light);
		 border-radius: 0;
		 margin-left: 20px;
		 margin-top: 10px;
	 }
	 .sub-menu li a {
		 padding: 10px 15px;
		 border-bottom: 1px solid #eee;
	 }
	 .company-logo-section {
		 margin-bottom: 1.5rem;
		 padding: 1.5rem 0.5rem;
		 text-align: center;
	 }
	 .company-logo-section img {
		 max-height: 80px;
		 max-width: 200px;
	 }
	 /* Make company logo section same width as other containers on mobile */
	 body.single-job_listing .job-board-item .company-logo-section,
	 body.single-job_listing .company-logo-section {
		 margin: 0 0 2rem 0 !important;
		 padding: 2rem 1rem !important;
	 }
	 .company-logo-section img {
		 max-height: 80px;
		 max-width: 200px;
	 }
	 .blog-container {
		 max-width: 100%;
		 min-width: 100%;
		 padding: 10px;
	 }
	 .blog-heading {
		 font-size: 28px;
	 }
	 .post h2 {
		 font-size: 20px;
	 }
	 .post p {
		 font-size: 14px;
	 }
	 .read-more {
		 font-size: 12px;
	 }
	 .widget button,
	 .widget input[type="search"] {
		 width: 100%;
		 box-sizing: border-box;
	 }
	 .widget button {
		 margin-top: 10px;
	 }
	 .search-results-container {
		 padding: 10px;
		 width: 100%;
	 }
	 #job-listing-sidebar,
	 .content-area {
		 width: 100%;
		 float: none;
		 margin-top: 10px;
	 }
	 /* Full width job container on mobile single job pages only */
	 body.single-job_listing .job-board-container {
		max-width: 100%;
		width: 100%;
		padding: 0 rem;
		margin: 0 auto;
	}
	 .category-header {
		 flex-direction: column;
		 text-align: center;
	 }
	 .category-header .category-image {
		 width: 100%;
		 max-width: 400px;
		 height: auto;
	 }
	 .search-boxes {
		 flex-direction: column;
		 gap: 10px;
	 }
	 .search-box-location,
	 .search-box-main,
	 .search-submit {
		 width: 100%;
	 }
	 .mobile-sidebar-container {
		 display: block;
		 margin-top: 30px;
		 margin-bottom: 20px;
	 }
	 #job-listing-sidebar-mobile {
		 background-color: #fff;
		 border: 1px solid var(--border-color);
		 border-radius: 8px;
		 padding: 20px;
	 }
	 #secondary {
		 display: none;
	 }
	 .related-jobs-grid {
		 grid-template-columns: 1fr;
	 }
	 .related-categories,
	 .related-jobs-section {
		 padding: 20px;
		 margin-top: 30px;
	 }
	 .category-grid {
		 grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
		 gap: 12px;
	 }
	 .category-card-link {
		 padding: 16px;
	 }
 }
 @media (max-width: 480px) {
	 .site-title {
		 font-size: 20px;
	 }
	 .header-container {
		 min-height: 55px;
	 }
	 .top-bar-menu {
		 gap: 10px;
	 }
	 .blog-container {
		 max-width: 100%;
		 min-width: 100%;
		 padding: 5px;
	 }
	 .blog-heading {
		 font-size: 24px;
	 }
	 .post h2 {
		 font-size: 18px;
	 }
	 .post p {
		 font-size: 16px;
	 }
	 .read-more {
		 font-size: 14px;
	 }
 }
 @media (min-width: 769px) {
	 .main-navigation .main-nav ul li.nav-button a {
		 background-color: #f1f6f9;
		 border: 2px solid #027f99;
		 border-radius: 5px;
		 color: #000;
		 line-height: 35px;
	 }
	 .single-job_listing #secondary #job-listing-sidebar {
		 margin-top: 72px;
	 }
	 .single-job_listing #secondary {
		 margin-top: 0;
		 padding-top: 0;
	 }
 }
 .updated-date {
	 font-size: 14px;
	 color: #888;
	 margin-bottom: 20px;
	 display: block;
 }
 .narrow-container {
	 max-width: 600px;
	 margin: 0 auto;
	 padding: 20px;
	 background-color: var(--background-light);
 }
 .narrow-content h1 {
	 font-size: 32px;
	 margin-bottom: 20px;
	 color: var(--text-dark);
	 text-align: center;
 }
 .page-content {
	 font-size: 16px;
	 line-height: 1.8;
	 color: var(--text-light);
 }
 .screen-reader-text {
	 clip: rect(1px, 1px, 1px, 1px);
	 clip-path: inset(50%);
	 word-wrap: normal !important;
	 position: absolute !important;
	 width: 1px;
	 height: 1px;
	 padding: 0;
	 margin: -1px;
	 overflow: hidden;
	 clip: rect(0, 0, 0, 0);
	 white-space: nowrap;
	 border: 0;
 }
 .firstButton,
 .firstButton:active,
 .firstButton:focus,
 .firstButton:hover,
 .firstButton:visited {
	 background-color: #164863 !important;
	 color: #fff !important;
	 border: 1px solid #fff !important;
	 text-decoration: none !important;
 }
 .secondButton,
 .secondButton:active,
 .secondButton:focus,
 .secondButton:hover,
 .secondButton:visited {
	 background-color: #f1f6f9 !important;
	 color: #000 !important;
	 border: 1px solid #000 !important;
	 text-decoration: none !important;
 }
 .job-tag-item,
 .job-tag-item:active,
 .job-tag-item:focus,
 .job-tag-item:hover,
 .job-tag-item:visited {
	 background-color: #494a4a !important;
	 color: #fff !important;
	 text-decoration: none !important;
	 display: inline-block;
	 padding: 3px 10px;
	 border-radius: 10px;
	 font-size: 13px;
	 margin-right: 5px;
	 text-align: center;
 }
 .job-tag-item:hover {
	 background-color: #a9a9a9 !important;
	 color: #fff !important;
 }
 .job-category-tag,
 .job-category-tag:active,
 .job-category-tag:focus,
 .job-category-tag:hover,
 .job-category-tag:visited {
	 background-color: var(--accent-color) !important;
	 color: #fff !important;
	 text-decoration: none !important;
	 font-size: 12px;
	 padding: 3px 8px;
	 border-radius: 12px;
	 white-space: nowrap;
	 display: inline-block;
 }
 .tag,
 .tag:active,
 .tag:focus,
 .tag:hover,
 .tag:visited {
	 background-color: var(--accent-color) !important;
	 color: #fff !important;
	 text-decoration: none !important;
	 display: inline-block;
	 padding: 3px 10px;
	 border-radius: 10px;
	 font-size: 13px;
	 margin-right: 5px;
	 text-align: center;
 }
 .job-board-item-link,
 .job-board-item-link:active,
 .job-board-item-link:focus,
 .job-board-item-link:hover,
 .job-board-item-link:visited {
	 text-decoration: none !important;
	 color: inherit !important;
 }
 .job-title,
 .job-title a,
 .job-title a:active,
 .job-title a:focus,
 .job-title a:hover,
 .job-title a:visited {
	 color: var(--text-dark) !important;
	 text-decoration: none !important;
 }
 .company-name,
 .company-name a,
 .company-name a:active,
 .company-name a:focus,
 .company-name a:hover,
 .company-name a:visited {
	 color: #555 !important;
	 text-decoration: none !important;
 }

 
 