/*
	Theme Name: Decode
	Theme URI: https://www.sabase.co.za
	Description: A minimal mobile responsive and HTML5 theme built for the Genesis Framework.
	Author: SABase
	Author URI: https://www.sabase.co.za/about

	Version: 1.1

	Tags: white, gray, gold, one-column, two-columns, left-sidebar, right-sidebar, responsive-layout, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

	Template: genesis
	Template Version: 2.4.1

	License: GPL-2.0+
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/* # Table of Contents
- HTML5 Reset
	- Baseline Normalize
	- Box Sizing
	- Float Clearing
- Defaults
	- Typographical Elements
	- Headings
	- Objects
	- Gallery
	- Forms
	- Tables
	- Screen Reader Text
- Structure and Layout
	- Site Containers
	- Column Classes
- Common Classes
	- Avatar
	- Genesis
	- Search Form
	- Titles
	- WordPress
- Widgets
	- Featured Content
- Plugins
	- Genesis eNews Extended
	- Jetpack
	- Genesis Portfolio Pro
	- WP Instagram Widget
	- WooCommerce
		- Home Featured Products
		- Product Archive
		- Single Product
		- Cart
		- Checkout
		- My Account
- Skip Links
- Site Header
	- Title Area
	- Widget Area
- Site Navigation
	- Accessible Menu
	- Site Header Navigation
	- After Header Navigation
	- Footer Navigation
- Content Area
	- Entries
	- Entry Meta
	- Author Box
	- Pagination
	- Comments
- Sidebar
- Front Page Widgets
- Before Footer Widget
- Footer Widgets
- Site Footer
- Media Queries
	- Max-width: 1320px
	- Max-width: 1200px
	- Max-width: 1023px
	- Max-width: 860px
	- Max-width: 600px
- Print Styles
*/

/* # CSS Variables
---------------------------------------------------------------------------------------------------- */

:root {
	/* Light Mode Colors */
	--primary-color: #4286F5;
	--primary-hover: #174ea6;
	--text-dark: #272727;
	--text-medium: #888;
	--text-light: #999;
	--border-light: #ddd;
	--border-medium: #dadce0;
	--border-dark: #eee;
	--background-white: #fff;
	--background-light: #f9f9f9;
	--background-gray: #f7f7f7;
	--card-tag-color: #1a73e8;
	--card-tag-hover: #174ea6;
	
	/* Dark Mode Support */
	color-scheme: light dark;
	
	/* Typography */
	--font-primary: 'Montserrat', sans-serif;
	--font-secondary: 'Libre Baskerville', serif;
	--font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	
	/* Transitions */
	--transition-default: all 0.3s ease-in-out;
	--transition-fast: all 0.2s ease;
	
	/* Spacing */
	--spacing-xs: 6px;
	--spacing-sm: 12px;
	--spacing-md: 16px;
	--spacing-lg: 24px;
	--spacing-xl: 40px;
	
	/* Layout */
	--container-max: 1300px;
	--border-radius: 8px;
	--card-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* System Preference Dark Mode Implementation */
@media (prefers-color-scheme: dark) {
	:root {
		/* Dark Mode Colors */
		--primary-color: #6B9EF7;
		--primary-hover: #4F8EF7;
		--text-dark: #ffffff;
		--text-medium: #cccccc;
		--text-light: #aaaaaa;
		--border-light: #333333;
		--border-medium: #444444;
		--border-dark: #555555;
		--background-white: #1a1a1a;
		--background-light: #222222;
		--background-gray: #2a2a2a;
		--card-tag-color: #6B9EF7;
		--card-tag-hover: #4F8EF7;
		--card-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
	}
	
	/* Force background colors for main elements */
	body {
		background-color: var(--background-white) !important;
		color: var(--text-dark) !important;
	}
	
	.site-inner {
		background-color: var(--background-white) !important;
	}
	
	/* Make sure all main content uses dark colors */
	.content {
		background-color: var(--background-white) !important;
		color: var(--text-dark) !important;
	}
}

/* # Utility Classes
---------------------------------------------------------------------------------------------------- */

.transition-default {
	transition: var(--transition-default);
}

.transition-fast {
	transition: var(--transition-fast);
}

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

.mb-0 { margin-bottom: 0; }
.mb-xs { margin-bottom: var(--spacing-xs); }
.mb-sm { margin-bottom: var(--spacing-sm); }
.mb-md { margin-bottom: var(--spacing-md); }
.mb-lg { margin-bottom: var(--spacing-lg); }
.mb-xl { margin-bottom: var(--spacing-xl); }

.font-primary {
	font-family: var(--font-primary);
}

.font-secondary {
	font-family: var(--font-secondary);
}

.text-primary {
	color: var(--primary-color);
}

.text-dark {
	color: var(--text-dark);
}

.text-medium {
	color: var(--text-medium);
}


/* Dark Mode Specific Component Styles */
@media (prefers-color-scheme: dark) {
	.card:hover {
		box-shadow: 0 2px 12px rgba(255, 255, 255, 0.1);
	}
	
	.card-title {
		color: var(--text-dark) !important;
	}
	
	.card-link {
		color: var(--text-dark) !important;
	}
	
	/* Mobile card titles in dark mode */
	@media (max-width: 767px) {
		.card-title {
			color: var(--text-dark) !important;
		}
		
		.card-no-image .card-title {
			color: var(--text-dark) !important;
		}
	}
	
	.entry-title a {
		color: var(--text-dark);
	}
	
	.entry-title a:hover {
		color: var(--primary-color);
	}
	
	.button:hover,
	input[type="button"]:hover,
	input[type="reset"]:hover,
	input[type="submit"]:hover {
		background: var(--primary-color);
		color: var(--background-white);
	}
	
	blockquote {
		border-left-color: var(--primary-color);
	}
	
	.site-header {
		background: var(--background-white) !important;
		border-bottom: 1px solid var(--border-light);
	}
	
	.site-title,
	.site-title a {
		color: var(--text-dark) !important;
	}
	
	.site-title a:hover,
	.site-title a:focus {
		color: var(--primary-color) !important;
	}
	
	.site-footer {
		background: var(--background-light);
		border-top: 1px solid var(--border-light);
	}
	
	input[type="text"],
	input[type="email"],
	input[type="search"],
	textarea {
		background: var(--background-light);
		border-color: var(--border-light);
		color: var(--text-dark);
	}
	
	input[type="text"]:focus,
	input[type="email"]:focus,
	input[type="search"]:focus,
	textarea:focus {
		border-color: var(--primary-color);
	}
	
	.related-articles-section {
		background-color: var(--background-light);
	}
	
	.footer-menu a,
	.footer-menu-list a {
		color: var(--text-medium) !important;
	}
	
	.footer-menu a:hover,
	.footer-menu-list a:hover {
		color: var(--primary-color) !important;
	}
	
	.footer-menu-wrapper {
		background-color: var(--background-light) !important;
		border-top-color: var(--border-medium) !important;
	}
}

/* # HTML5 Reset
---------------------------------------------------------------------------------------------------- */

/* ## Baseline Normalize
--------------------------------------------- */
/* normalize.css v3.0.1 | MIT License | git.io/normalize */

html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#333}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/* ## Box Sizing
--------------------------------------------- */

html,
input[type="search"]{
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

/* Prevent horizontal overflow */
html, body {
	overflow-x: hidden;
	max-width: 100%;
}

/* AdSense overflow prevention */
.adsbygoogle {
	max-width: 100% !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

/* Generic ad container protection */
.adsense-container,
.ad-container,
.advertisement {
	overflow: hidden;
	max-width: 100%;
	box-sizing: border-box;
}

/* ## Float Clearing
--------------------------------------------- */

.author-box:before,
.clearfix:before,
.entry:before,
.entry-content:before,
.footer-widgets:before,
.nav-primary:before,
.nav-secondary:before,
.pagination:before,
.site-container:before,
.site-footer:before,
.site-header:before,
.site-inner:before,
.widget:before,
.wrap:before {
	content: " ";
	display: table;
}

.author-box:after,
.clearfix:after,
.entry:after,
.entry-content:after,
.footer-widgets:after,
.nav-primary:after,
.nav-secondary:after,
.pagination:after,
.site-container:after,
.site-footer:after,
.site-header:after,
.site-inner:after,
.widget:after,
.wrap:after {
	clear: both;
	content: " ";
	display: table;
}


/* # Defaults
---------------------------------------------------------------------------------------------------- */

/* ## Typographical Elements
--------------------------------------------- */

body {
	background-color: var(--background-white);
	color: var(--text-dark);
	font-family: 'Libre Baskerville', serif;
	font-size: 18px;
	-webkit-font-smoothing: antialiased;
	font-weight: 400;
	line-height: 1.925;
	margin: 0;
}

a,
button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
	transition: var(--transition-default);
}

a {
	color: var(--primary-color);
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--text-medium);
	text-decoration: none;
}

p {
	margin: 0 0 40px;
	padding: 0;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

hr {
	border: none;
	clear: both;
    	height: 2px;
	background-color: #ddd;
    	display: block;
	margin: 60px 0;
}

b,
strong {
	font-weight: 700;
}

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

blockquote {
	background-color: var(--background-light);
	border: none;
	clear: both;
	font-size: 24px;
	margin: 60px 0;
	overflow: hidden;
	padding: 60px 60px 20px;
	text-align: center;
}


/* ## Headings
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-primary);
	font-weight: 500;
	line-height: 1.4;
	margin: 0 0 15px;
}

h1 {
	font-size: 58px;
}

h2 {
	font-size: 38px;
}

h3 {
	font-size: 32px;
}

h4 {
	font-size: 26px;
}

h5 {
	font-size: 22px;
}

h6 {
  	color: var(--text-medium);
  	font-size: 10px;
  	letter-spacing: 1px;
  	margin: 0 0 10px;
  	text-transform: uppercase;
}

/* ## Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
}

figure {
	margin: 0;
}

.post-image {
	margin-bottom: 30px;
}

.extend {
	margin-left: -5%;
	margin-right: -5%;
	min-width: 110%;
}

.alignleft.extend {
	margin-left: -5% !important;
	min-width: auto;
}

.alignright.extend {
	margin-right: -5% !important;
	min-width: auto;
}

/* ## Gallery
--------------------------------------------- */

.gallery {
	overflow: hidden;
}

.gallery-item {
	float: left;
	margin: 0 0 28px;
	text-align: center;
}

.gallery-columns-1 .gallery-item {
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	width: 50%;
}

.gallery-columns-3 .gallery-item {
	width: 33%;
}

.gallery-columns-4 .gallery-item {
	width: 25%;
}

.gallery-columns-5 .gallery-item {
	width: 20%;
}

.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}

.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
	width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}

.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
	clear: left;
}

.gallery img {
	border: none;
	height: auto;
	padding: 0;
}

.gallery img:hover,
.gallery img:focus {
	border: none;
}

.slideshow-window {
	background: none !important;
	border: none !important;
}

/* ## Forms
--------------------------------------------- */

input,
select,
textarea {
	background-color: var(--background-white);
	border: 2px solid #ddd;
	color: var(--text-dark);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.928 !important;
	padding: 8px 12px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 2px solid #ccc;
	color: var(--text-dark);
	outline: none;
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder,
input[type="search"]:focus::-webkit-input-placeholder { 
	color: transparent;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

::-moz-placeholder {
	color: var(--text-medium);
	opacity: 1;
}

::-webkit-input-placeholder {
	color: var(--text-medium);
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button {
	background: none;
	border: 2px solid var(--primary-color);
	border-radius: 0;
	color: var(--primary-color);
	cursor: pointer;
	font-family: var(--font-primary);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 3px;
	line-height: 1.625;
	padding: 11px 30px;
	text-decoration: none;
	text-transform: uppercase;
	white-space: normal;
	width: auto;
}

button:hover,
input:hover[type="button"],
input:hover[type="reset"],
input:hover[type="submit"],
.button:hover,
button:focus,
input:focus[type="button"],
input:focus[type="reset"],
input:focus[type="submit"],
.button:focus  {
	background: none;
	border: 2px solid #ddd;
	color: var(--text-medium);
}

.button {
	display: inline-block;
}

a.button.small,
button.small,
input[type="button"].small,
input[type="reset"].small,
input[type="submit"].small {
	padding: 8px 20px;
}

.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: var(--border-dark);
	border-width: 0;
	color: var(--text-medium);
	cursor: not-allowed;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* ## Tables
--------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 2;
	margin-bottom: 40px;
	width: 100%;
	word-break: break-word;
}

tbody {
	border-bottom: 2px solid #eee;
}

td,
th {
	text-align: left;
}

td {
	border-top: 2px solid #eee;
	padding: 10px;
}

th {
	font-weight: 400;
	padding: 10px 6px;
}

td:first-child,
th:first-child {
	padding-left: 0;
}

/* ## Screen Reader Text
--------------------------------------------- */

.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
	position: absolute !important;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	width: 1px;
	border: 0;
	overflow: hidden;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.genesis-nav-menu .search input[type="submit"]:focus,
.widget_search input[type="submit"]:focus  {
	clip: auto !important;
	height: auto;
	width: auto;
	display: block;
	font-size: 1em;
	font-weight: bold;
	padding: 15px 23px 14px;
	color: var(--text-dark);
	background: #fff;
	z-index: 100000; /* Above WP toolbar. */
	text-decoration: none;
	box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
}

.more-link {
    position: relative;
}


/* # Structure and Layout
---------------------------------------------------------------------------------------------------- */

/* ## Site Containers
--------------------------------------------- */

.site-inner,
.wrap {
	margin: 0 auto;
	max-width: 1300px;
	overflow-x: hidden;
}

.site-inner {
	background-color: var(--background-white);
	clear: both;
	padding: 80px 0;
	word-wrap: break-word;
}

.home .site-inner {
	display: none;
}

.landing-page .site-inner {
	max-width: 800px;
}

/* ### Content */

.content {
	float: right;
	width: 800px;
	overflow-x: hidden;
}

.content-sidebar .content {
	float: left;
}

.full-width-content .content {
	float: none;
	margin: 0 auto;
}

/* ### Primary Sidebar */

.sidebar-primary {
	float: right;
	width: 360px;
}

.sidebar-content .sidebar-primary {
	float: left;
}

/* ## Column Classes
--------------------------------------------- */

.five-sixths,
.four-sixths,
.four-fifths,
.one-fifth,
.one-fourth,
.one-half,
.one-sixth,
.one-third,
.three-fourths,
.three-fifths,
.three-sixths,
.two-fourths,
.two-fifths,
.two-sixths,
.two-thirds {
	float: left;
	margin-left: 5%;
}
 
.one-half,
.three-sixths,
.two-fourths {
	width: 47.5%;
}
 
.one-third,
.two-sixths {
	width: 30%;
}
 
.four-sixths,
.two-thirds {
	width: 65%;
}
 
.one-fourth {
	width: 21.25%;
}
 
.three-fourths {
	width: 73.75%;
}
 
.one-fifth {
	width: 16%;
}
 
.two-fifths {
	width: 37%;
}
 
.three-fifths {
	width: 58%;
}
 
.four-fifths {
	width: 79%;
}
 
.one-sixth {
	width: 12.5%;
}
 
.five-sixths {
	width: 82.5%;
}
 
.first {
	clear: both;
	margin-left: 0;
}

/* ## Clear fix for column classes
--------------------------------------------- */

.clear-line:after {
  	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
 
.clear-line {
	display: inline-block;
	width: 100%;
}
 
html[xmlns] .clear-line {
	display: block;
}
 
* html .clear-line {
	height: 1%;
}


/* # Common Classes
---------------------------------------------------------------------------------------------------- */

/* ## Avatar
--------------------------------------------- */

.avatar {
	border-radius: 50%;
	float: left;
}

.author-box .avatar {
	float: none;
	margin: 0 auto;
}

.alignleft .avatar {
	margin-right: 24px;
}

.alignright .avatar {
	margin-left: 24px;
}

.comment .avatar {
	margin: 0 16px 24px 0;
}

/* ## Genesis
--------------------------------------------- */

.breadcrumb {
	color: var(--text-medium);
	font-family: var(--font-primary);
  	font-size: 10px;
	font-weight: 500;
	letter-spacing: 1px;
  	margin: 0 0 10px;
  	padding: 0;
	text-align: center;
	text-transform: uppercase;
}

.breadcrumb a {
	color: var(--text-medium);
}

.breadcrumb a:hover {
	color: var(--primary-color);
}

.archive-description {
	border-bottom: 2px solid #ddd;
	margin-bottom: 60px;
	padding: 0 0 60px;
	text-align: center;
}

.author .archive-description {
	border-bottom: none;
	margin-bottom: 0;
	padding: 0 0 40px;
}

.archive-description p {
	margin: 0 0 15px;
}

/* ## Search Form
--------------------------------------------- */

.search-form {
	overflow: hidden;
}

.entry-content .search-form,
.site-header .search-form {
	margin-bottom: 40px;
	width: 40%;
}

.site-header .search-form {
	float: right;
	margin: 10px auto 0;
}

.nav-primary .search-form {
	margin: 10px auto 0;
}

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 10px;
}

.genesis-nav-menu .search input[type="submit"],
.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* ## Titles
--------------------------------------------- */

.archive-title,
.entry-title {
	font-size: 58px;
	text-align: center;
}

.entry-title a,
.sidebar .widget-title a {
	color: var(--text-dark);
	text-decoration: none;
}

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

.widget-title,
.widgettitle {
	color: var(--text-medium);
  	font-size: 10px;
	font-weight: 400;
	letter-spacing: 1px;
  	margin: 0 0 22px;
	text-transform: uppercase;
}

/* ## WordPress
--------------------------------------------- */

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	text-align: left;
}

.alignright {
	float: right;
	text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.center,
.aligncenter,
.wp-caption.aligncenter {
	display: block;
	margin: 0 auto 40px;
}

img.alignnone,
figure.alignnone,
.wp-caption.alignnone {
	margin-bottom: 40px;
	margin-left: -5%;
	margin-right: -5%;
	min-width: 110%;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 40px 40px -5%;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 -5% 40px 40px;
}

.wp-caption-text {
	color: var(--text-medium);
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	margin: 0;
	text-align: center;
}

.alignleft .wp-caption-text {
	padding-left: 20px;
	text-align: left;
}

.alignright .wp-caption-text {
	padding-right: 20px;
	text-align: right;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 40px;
}


/* # Widgets
---------------------------------------------------------------------------------------------------- */

.widget {
	word-wrap: break-word;
}

.widget p:last-child,
.widget ul > li:last-of-type {
	margin-bottom: 0;
}

.widget ul > li {
	padding-bottom: 10px;
}

.widget ul > li:last-of-type {
	padding-bottom: 0;
}

.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}

.widget li li {
	border: 0;
	margin: 0 0 0 30px;
	padding: 0;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}

/* ## Featured Content
--------------------------------------------- */

.featured-content .entry {
	margin-bottom: 0;
}

.featured-content .entry-title {
	font-size: 20px;
}

.featured-content .aligncenter {
	margin: 0 auto 20px;
}

.featured-content .alignnone {
	margin: 0 0 20px;
}

.home .featured-content .widget-wrap {
	margin: 0 -28px;
}

.home .featured-content .widgettitle {
	margin-left: 28px !important;
}

.home .featured-content .entry {
	background: none;
	float: left;
	margin-bottom: 12px;
	padding: 0 28px;
	width: 33.2%;
}

.home .featured-content .entry-title {
	font-size: 22px;
}


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

/* ## Genesis eNews Extended
--------------------------------------------- */

.enews form {
	background-color: var(--background-white);
	border: 2px solid #ddd;
	margin: 8px auto;
}

.sidebar .enews form {
	padding: 12px 22px;
}

.before-footer .enews form {
	padding: 24px 40px;
	width: 600px;
}

.footer-widgets .enews form {
	padding: 14px 26px;
}

.enews-widget input,
.enews-widget input[type="submit"] {
	border: none;
	padding: 0;
	width: auto;
}

.enews-widget input {
	width: 67%;
}

.enews-widget input[type="submit"] {
	text-align: right;
	width: 30%;
}

.enews p {
	margin: 0 0 24px;
}

.enews p span {
	color: var(--text-medium);
	font-size: 12px;
	font-style: italic;
}

.before-footer .enews input {
	font-size: 22px;
}

/* ## Jetpack
--------------------------------------------- */

#wpstats,
.jp-carousel-left-column-wrapper, 
.jp-carousel-image-meta {
	display: none;
}

/* ## Genesis Portfolio Pro
--------------------------------------------- */

.post-type-archive-portfolio .content,
.tax-portfolio-type .content {
	width: 1000px;
}

.genesis-pro-portfolio .archive-description {
	border-bottom: none;
	padding: 0;
}

.genesis-pro-portfolio .pro-portfolio .entry-header .entry-title {
	font-size: 22px;
	margin: 10px 0;
}

/* ## WP Instagram Widget
--------------------------------------------- */

.widget .instagram-pics {
	clear: both;
	margin: 0 -10px;
	overflow: hidden;
}

.null-instagram-feed a {
	font-size: 14px;
	font-style: italic;
}

.footer-widgets .instagram-pics li {
	float: left;
	padding: 10px 10px 0;
	width: 33.333%;
}

.before-footer .instagram-pics li {
	float: left;
	padding: 10px 10px 0;
	width: 16.6666666667%;
}

/* ## WooCommerce
--------------------------------------------- */

.woocommerce .content {
	width: 1000px;
}

.product_title {
	margin-bottom: 10px;
}

.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button {
	background: none !important;
	border: 2px solid var(--primary-color) !important;
	border-radius: 0;
	color: #4286F5 !important;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 3px;
	line-height: 1.625 !important;
	padding: 10.5px 30px;
}

.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover {
	background: none !important;
	border: 2px solid #ddd !important;
	color: #888 !important;
}

.woocommerce span.onsale {
	background: var(--primary-color);
	border-radius: 0;
	left: 0;
	line-height: 3;
	margin: 0 !important;
	top: 0;
}

.woocommerce-error, 
.woocommerce-info, 
.woocommerce-message {
	background-color: var(--background-light);
	border-top: none;
  	color: var(--text-dark);
	line-height: 2.625;
	padding: 1em 2em !important;
	text-align: center;
}

.woocommerce-error::before, 
.woocommerce-info::before, 
.woocommerce-message::before {
	display: none;
}

/* ### WooCommerce - Home Featured Products
-------------------------------- */

.home .widget-area .product-title {
	font-size: 22px;
	transition: var(--transition-default);
}

.home .widget-area .woocommerce ul.product_list_widget li {
	float: left;
	margin-left: 3.8%;
	padding: 0;
	text-align: center;
	width: 22.05%;
}

.home .widget-area .woocommerce ul.product_list_widget li:first-child {
	margin-left: 0;
}

.home .widget-area .woocommerce ul.product_list_widget li img {
	float: none;
	margin: 0 0 10px;
	width: 100%;
}


/* ### WooCommerce - Product Archive
-------------------------------- */

.woocommerce ul.products li.product a img {
	margin: 0 0 24px;
}

.woocommerce ul.products li.product h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.home .widget-area .product-title,
.woocommerce-loop-product__title {
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	margin: 0;
	padding: 0;
	text-align: center;
	text-transform: none;
}

.post-type-archive-product .page-title {
	margin-bottom: 45px;
	text-align: center;
}

.woocommerce-result-count {
	font-size: 14px;
	letter-spacing: 1px;
}

.woocommerce .woocommerce-ordering select {
	color: var(--text-medium);
	border: none;
	margin-top: -10px;
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price ins {
	display: inline;
}

.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins {
	text-decoration: none;
}

.home .widget-area .product-title {
	font-size: 22px;
	transition: var(--transition-default);
} 

.woocommerce ul.products li.product a,
.home .widget-area .product-title {
	color: var(--text-dark);
}

.woocommerce ul.products li.product a:hover,
.home .widget-area .product-title:hover {
	color: var(--primary-color);
}

.woocommerce ul.products li.product .price,
.home .widget-area .amount {
	color: var(--text-medium);
	font-size: 18px;
	padding: 0;
	text-align: center;
}

.woocommerce ul.products li.product .button {
	display: none;
}

.tax-product_cat .archive-description,
.tax-product_tag .archive-description {
	border-bottom: none;
	margin-bottom: 0;
	padding: 0 0 30px;
}

.tax-product_cat .page-title,
.tax-product_tag .page-title {
	display: none;
}

.woocommerce nav.woocommerce-pagination ul {
	border: none;
	border-right: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	border-right: none;
	margin: 0 3px;
}

.woocommerce nav.woocommerce-pagination ul li a {
	color: var(--text-dark);
}

.woocommerce nav.woocommerce-pagination ul li a:focus, 
.woocommerce nav.woocommerce-pagination ul li a:hover, 
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--primary-color);
	color: #fff;
}

.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li span {
	font-size: 16px;
	line-height: 1.925;
	padding: 6px 12px;
}


/* ### WooCommerce - Single Product
-------------------------------- */

.single-product .breadcrumb {
	margin: 0 0 20px;
}

.woocommerce div.product .product_title {
	text-align: left;
}

.woocommerce div.product p.price, 
.woocommerce div.product span.price {
	color: var(--text-medium);
	margin-bottom: 10px;
}

.woocommerce .quantity .qty {
	width: 5em;
}

.woocommerce div.product form.cart div.quantity {
	margin: 0 10px 0 0;
}

.variations tbody {
	border-bottom: none;
}

.variations td {
	padding: 0;
}

.sku_wrapper,
.posted_in,
.tagged_as {
	display: block;
	padding: 5px 0;
}

.woocommerce table.shop_attributes td, 
.woocommerce table.shop_attributes th {
	border: none;
}

.woocommerce-tabs {
	font-size: 16px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom: 5px solid #ccc;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background-color: var(--background-white);
	border: none;
	border-bottom: 5px solid #ccc;
  	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--text-medium);
	font-family: var(--font-primary);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	padding: 0;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--text-dark);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  	border-bottom: 2px solid var(--border-dark);
	border-radius: 0px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  	border-bottom: 2px solid var(--text-dark);
	border-radius: 0px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	outline: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
    	border-width: 0;
	box-shadow: none;
}

.woocommerce .woocommerce-tabs ul.tabs::before,
.woocommerce .woocommerce-tabs ul.tabs::after,
.woocommerce div.thumbnails::before,
.woocommerce div.thumbnails::after,
.woocommerce .col2-set::before,
.woocommerce .col2-set::after {
	display: none;
}

.product_meta {
	font-size: 15px;
	margin-bottom: 40px;
}

#respond h3 {
	font-size: 16px;
	margin: 0 0 20px !important;
}

.related {
	clear: both;
	padding-top: 40px;
}

.related > h2:first-of-type {
	color: var(--text-medium);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 1px;
	margin: 0 0 22px;
	text-transform: uppercase;
}

div.ppt {
	display: none !important;
}

/* ### WooCommerce - Cart
-------------------------------- */

.woocommerce table.shop_table {
	border: none;
}

.woocommerce table.shop_table td {
	border-top: 2px solid #eee;
	padding: 12px;
}

.woocommerce table.shop_table tr th {
	color: var(--text-medium);
	font-family: var(--font-primary);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1;
	padding: 20px 12px;
	text-transform: uppercase;
}

.woocommerce-cart img.attachment-shop_thumbnail,
.widget_shopping_cart img.attachment-shop_thumbnail {
	margin-bottom: -8px;
	padding: 0;
	transform: scale(1); 
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	background-color: var(--background-white);
	border: 2px solid #ddd;
	color: var(--text-dark);
	font-size: 14px;
	font-weight: 400;
	margin-right: 10px;
	padding: 8px 12px;
}

.shipping-calculator-button {
	font-size: 13px;
}

.cart-subtotal .woocommerce-Price-amount,
td[data-title="Shipping"] {
	line-height: 1.8 !important;
}

.order-total .woocommerce-Price-amount {
	font-size: 28px;
	font-weight: 400;
	line-height: 1.3;
}

.checkout-button {
	font-size: 16px !important;
}

.woocommerce.widget_shopping_cart .total {
	border-top: 2px solid #eee;
}

.cart-empty,
.return-to-shop {
	text-align: center;
}

.sidebar .widget_shopping_cart_content .button,
.sidebar .widget_shopping_cart .wc-forward {
	font-size: 11px !important;
	letter-spacing: 1px;
	padding: 10.5px 20px !important;
}

/* ### WooCommerce - Checkout
-------------------------------- */

.col2-set,
.col-1,
.col-2 {
	clear: both;
	float: none;
	margin-bottom: 40px;
	width: 100% !important;
}

.woocommerce form .form-row {
	margin: 0 0 20px;
}

#order_review_heading {
	clear: both;
}

.woocommerce form .form-row label {
	font-size: 16px;
	line-height: 1.5;
}

.select2-container .select2-choice {
	border: 2px solid #ddd;
	border-radius: 0;
}

.woocommerce table.shop_table tr th,
.woocommerce table.shop_table td {
	border-top: 2px solid #eee !important;
}

#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment {
	background: #f9f9f9;
	border-radius: 0px;
}

#add_payment_method #payment ul.payment_methods, 
.woocommerce-cart #payment ul.payment_methods, 
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: none;
}

#add_payment_method #payment div.payment_box, 
.woocommerce-cart #payment div.payment_box, 
.woocommerce-checkout #payment div.payment_box {
	border-radius: 0px;
	color: var(--text-dark);
	padding: 1em 2em;
}

.woocommerce form.checkout_coupon, 
.woocommerce form.login, 
.woocommerce form.register {
	border: none;
	padding: 0;
}

#add_payment_method #payment div.payment_box, 
.woocommerce-cart #payment div.payment_box, 
.woocommerce-checkout #payment div.payment_box {
	font-size: 16px;
}


/* ### WooCommerce - My Account
-------------------------------- */

fieldset {
	margin: 0 2px 30px;
}


/* # Skip Links
---------------------------------------------------------------------------------------------------- */

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link li {
	height: 0;
	width: 0;
	list-style: none;
}

/* Display outline on focus */
:focus {
	color: var(--text-dark);
	outline: #eee solid 1px;
}


/* # Site Header
---------------------------------------------------------------------------------------------------- */

.site-header > .wrap {
	padding: 80px 0;
}

/* ## Title Area
--------------------------------------------- */

.title-area {
	float: left;
	padding: 0;
	width: 300px;
}

.header-image .title-area {
	margin: 0 auto;
	max-width: 300px;
	padding: 0;
}

.header-full-width .title-area {
	float: none;
	text-align: center;
	width: 100%;
}

.site-title {
	font-family: 'Libre Baskerville', serif;
	font-size: 36px;
	font-weight: 400;
	line-height: 1;
}

.site-title a {
	color: var(--text-dark);
	text-decoration: none;
}

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

.header-image .site-title > a {
	background-position: center !important;
	background-size: contain !important;
	float: left;
	min-height: 60px;
	width: 100%;
}

.site-title {
	margin-bottom: 0;
}

.header-image .site-title {
	display: block;
	text-indent: -9999px;
}

/* ## Widget Area
--------------------------------------------- */

.site-header .widget-area {
	float: right;
	text-align: right;
	max-width: 1300px;
}

.site-header .widget-area .widget {
	margin-bottom: 0;
	padding: 0;
}


/* # Site Navigation
---------------------------------------------------------------------------------------------------- */

.genesis-nav-menu,
.widget_nav_menu {
	clear: both;
	font-family: var(--font-primary);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1;
	text-transform: uppercase;
	width: 100%;
}

.genesis-nav-menu .menu-item {
	display: inline-block;
	margin-bottom: 0;
	padding-bottom: 0;
	text-align: left;
}

.genesis-nav-menu a,
.widget_nav_menu a {
	color: var(--text-dark);
	outline: none;
	text-decoration: none;
	display: block;
	padding: 16px 26px;
}

.genesis-nav-menu a:hover,
.genesis-nav-menu a:focus,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.widget_nav_menu a:hover,
.widget_nav_menu a:focus,
.widget_nav_menu .current-menu-item > a,
.widget_nav_menu .sub-menu .current-menu-item > a:hover,
.widget_nav_menu .sub-menu .current-menu-item > a:focus {
	color: var(--primary-color);
}

.genesis-nav-menu .sub-menu {
	border-top: 2px solid #ddd;
	left: -9999px;
	opacity: 0;
	position: absolute;
	-webkit-transition: opacity .4s ease-in-out;
	-moz-transition:    opacity .4s ease-in-out;
	-ms-transition:     opacity .4s ease-in-out;
	-o-transition:      opacity .4s ease-in-out;
	transition:         opacity .4s ease-in-out;
	width: 200px;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: var(--background-white);
	border: 1px solid #eee;
	border-top: 0;
	font-size: 12px;
	letter-spacing: 1px;
	padding: 16px 26px;
	position: relative;
	width: 200px;
	word-wrap: break-word;
}

.genesis-nav-menu .sub-menu .sub-menu {
	margin: -56px 0 0 199px;
}

.genesis-nav-menu .menu-item:hover {
	position: static;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	left: auto;
	opacity: 1;
}

.genesis-nav-menu > .first > a {
	padding-left: 0 !important;
}

.genesis-nav-menu > .last > a {
	padding-right: 0 !important;
}

.genesis-nav-menu > .left {
	float: left;
}

.genesis-nav-menu > .right {
	float: right;
}

.genesis-nav-menu > .social {
	font-size: 16px;
	margin: -2px 0;
}

/* ## Accessible Menu
--------------------------------------------- */

.menu .menu-item:focus {
	position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
	left: auto;
	opacity: 1;
}

.sub-menu-toggle,
.menu-toggle {
	display: none;
	visibility: hidden;
}

/* ## Site Header Navigation
--------------------------------------------- */

.site-header .genesis-nav-menu li li {
	margin-left: 0;
}

/* ## Primary Navigation
--------------------------------------------- */

.nav-primary .genesis-nav-menu {
	margin-bottom: 80px;
	text-align: center;
}

/* ## Footer Navigation
--------------------------------------------- */

.site-footer .genesis-nav-menu {
	padding-bottom: 20px;
}

.site-footer .genesis-nav-menu a {
	padding: 0 20px 10px;
}


/* # Content Area
---------------------------------------------------------------------------------------------------- */

/* ## Entries
--------------------------------------------- */

.entry {
	margin-bottom: 40px;
	padding: 0;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 28px;
	margin-left: 40px;
}

.entry-content ul {
	margin-left: 25px;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: none;
	text-indent: -26px;
	padding-left: 10px;
}

.entry-content ul > li:before {
	color: #ccc;
	content: "\f522";
	font-family: 'Dashicons';
	margin-right: 10px;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content code {
	background-color: var(--text-dark);
	color: #eee;
}

/* ## Entry Meta
--------------------------------------------- */

.entry-header {
	margin-bottom: 40px;
	text-align: center;
}

p.entry-meta,
p.entry-meta a {
	color: var(--text-medium);
	font-size: 15px;
}

p.entry-meta a:hover {
	color: var(--primary-color);
}

.entry-categories,
.entry-tags,
.entry-terms {
	display: block;
	font-family: var(--font-primary);
  	font-size: 10px;
	font-weight: 500;
	letter-spacing: 1px;
  	margin: 0 0 10px;
  	padding: 0;
	text-align: center;
	text-transform: uppercase;
}

.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

.entry-categories a,
.entry-tags a,
.entry-terms a {
	color: var(--text-medium);
}

.entry-categories a:hover,
.entry-tags a:hover,
.entry-terms a:hover {
	color: var(--primary-color);
}

/* ## Author Box
--------------------------------------------- */

.author-box {
	background-color: var(--background-light);
	margin: 0 0 60px;
	padding: 40px 40px 0;
	text-align: center;
}

.author-box-title {
  	color: var(--text-medium);
  	font-size: 10px;
  	letter-spacing: 1px;
  	margin: 0 0 10px;
  	text-transform: uppercase;
}

.author-box-content p {
	font-size: 14px;
}

/* ## Pagination
--------------------------------------------- */

.pagination {
	clear: both;
	margin: 40px 0;
	text-align: center;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination a {
	background-color: var(--background-white);
	color: var(--text-dark);
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	padding: 6px 12px;
	text-decoration: none;
}

.archive-pagination a:hover,
.archive-pagination a:focus,
.archive-pagination .active a {
	background-color: var(--primary-color);
	color: #fff;
}

/* ## Comments
--------------------------------------------- */

.comment-respond,
.entry-comments,
.entry-pings {
	background-color: var(--background-white);
	font-size: 16px;
	margin-bottom: 40px;
}

.comment-respond,
.entry-pings {
	padding: 0;
}

.entry-comments {
	padding: 60px;
}

.comment-list li {
	padding: 40px 0 0 30px;
}

.comment-list .depth-1 {
	padding-left: 0;
}

.comment-header {
	margin-bottom: 30px;
}

.comment-content {
	clear: both;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.comment-header p {
	margin-bottom: 0;
}

.entry-pings .reply {
	display: none;
}

/* # Sidebar
---------------------------------------------------------------------------------------------------- */

.sidebar {
	font-size: 14px;
	margin-bottom: 40px;
}

.sidebar .widget {
	background-color: var(--background-light);
	margin-bottom: 60px;
	padding: 40px;
}


/* # Front Page Widgets
---------------------------------------------------------------------------------------------------- */

.front-page-1 {
	clear: both;
	font-size: 24px;
	padding: 80px 0 120px;
	text-align: center;
}

.front-page-2 {
	background-color: var(--background-light);
	clear: both;
	padding: 120px 0 100px;
}

.front-page-3 {
	clear: both;
	padding: 120px 0 100px;
}

.front-page-1 .wrap, 
.front-page-3 .wrap {
    	max-width: 1000px;
}


/* # Before Footer
---------------------------------------------------------------------------------------------------- */

.before-footer {
	background-color: var(--background-light);
	clear: both;
	padding: 120px 0;
	text-align: center;
}


/* # Footer Widgets
---------------------------------------------------------------------------------------------------- */

.footer-widgets {
	clear: both;
	font-size: 16px;
	margin-top: 120px;
}

.footer-widgets .widget {
	margin-bottom: 60px;
}

.footer-widgets li {
	padding: 0 0 10px;
}

.footer-widgets p:last-child {
	margin-bottom: 0;
}

.footer-widgets-1,
.footer-widgets-2,
.footer-widgets-3 {
	float: left;
	margin-left: 5%;
	width: 30%;
}

.footer-widgets-1 {
	margin-left: 0;
}

.footer-widgets-2 {
	text-align: center;
}

.footer-widgets-3 {
	float: right;
	text-align: right;
}

/* # Site Footer
---------------------------------------------------------------------------------------------------- */

.site-footer {
	color: var(--text-medium);
	font-size: 14px;
	font-style: italic;
	line-height: 1.925;
	padding: 60px 0;
	text-align: center;
}

.site-footer p {
	margin-bottom: 0;
}

.single  .rp4wp-related-post-content {
    display: inline-block;
}
.single .rp4wp-related-posts ul>li {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-bottom: 20px;
    clear: both;
    text-indent: 0;
}
.single .content-sidebar-wrap section.author-box {
	display: none;
}	
	.before-footer ul#menu-footer-navigation li {
		display: inline-block;
	}
/* # Media Queries
---------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 1320px) {

	.site-inner,
	.wrap {
		max-width: 1140px;
	}

	.site-header .widget-area {
		width: 840px;
	}

	.content-sidebar .content,
	.sidebar-content .content {
		width: 720px;
	}

	.sidebar-primary {
		width: 320px;
	}

	.content-sidebar img.alignnone,
	.content-sidebar figure.alignnone,
	.content-sidebar .wp-caption.alignnone,
	.sidebar-content img.alignnone,
	.sidebar-content figure.alignnone,
	.sidebar-content .wp-caption.alignnone {
		margin-bottom: 40px;
		margin-left: -2.5%;
		margin-right: -2.5%;
		min-width: 105%;
	}

	.content-sidebar a.alignleft,
	.content-sidebar img.alignleft,
	.content-sidebar .wp-caption.alignleft,
	.sidebar-content a.alignleft,
	.sidebar-content img.alignleft,
	.sidebar-content .wp-caption.alignleft {
		margin: 0 40px 40px -2.5%;
	}

	.content-sidebar a.alignright,
	.content-sidebar img.alignright,
	.content-sidebar .wp-caption.alignright,
	.sidebar-content a.alignright,
	.sidebar-content img.alignright,
	.sidebar-content .wp-caption.alignright {
		margin: 0 -2.5% 40px 40px;
	}

	.front-page-1 .wrap, 
	.front-page-3 .wrap,
	.post-type-archive-portfolio .content,
	.tax-portfolio-type .content,
	.woocommerce .content {
    		max-width: 900px;
	}

	.front-page-1 {
		font-size: 22px;
	}

}


@media only screen and (max-width: 1200px) {

	.site-inner,
	.wrap {
		max-width: 980px;
	}

	.content-sidebar .content,
	.sidebar-content .content {
		width: 640px;
	}

	.site-header .widget-area {
		width: 680px;
	}

	.sidebar-primary {
		width: 300px;
	}

	.sidebar .widget {
   	 	margin-bottom: 40px;
    		padding: 30px;
	}

	.genesis-nav-menu a,
	.genesis-nav-menu .sub-menu a {
		padding: 16px 18px;
	}

	.front-page-1 .wrap, 
	.front-page-3 .wrap,
	.post-type-archive-portfolio .content,
	.tax-portfolio-type .content,
	.woocommerce .content {
    		max-width: 800px;
	}

	.front-page-1 {
		font-size: 20px;
	}

	.content-sidebar img.alignnone,
	.content-sidebar figure.alignnone,
	.content-sidebar .wp-caption.alignnone,
	.sidebar-content img.alignnone,
	.sidebar-content figure.alignnone,
	.sidebar-content .wp-caption.alignnone {
		margin-bottom: 40px;
		margin-left: 0;
		margin-right: 0;
		min-width: 100%;
	}

	.content-sidebar a.alignleft,
	.content-sidebar img.alignleft,
	.content-sidebar .wp-caption.alignleft,
	.sidebar-content a.alignleft,
	.sidebar-content img.alignleft,
	.sidebar-content .wp-caption.alignleft {
		margin: 0 40px 40px 0;
	}

	.content-sidebar a.alignright,
	.content-sidebar img.alignright,
	.content-sidebar .wp-caption.alignright,
	.sidebar-content a.alignright,
	.sidebar-content img.alignright,
	.sidebar-content .wp-caption.alignright {
		margin: 0 0 40px 40px;
	}

	.footer-widgets {
   	 	font-size: 14px;
	}

}

@media only screen and (max-width: 1023px) {

	.site-inner,
	.wrap {
		max-width: 800px;
	}

	.content,
	.content-sidebar .content,
	.sidebar-content .content,
	.sidebar-primary,
	.site-header .widget-area,
	.title-area {
		width: 100%;
	}

	.site-header > .wrap {
		padding: 60px 0;
	}

	.front-page-1 .wrap, 
	.front-page-3 .wrap,
	.post-type-archive-portfolio .content,
	.tax-portfolio-type .content,
	.woocommerce .content {
    		width: 100%;
	}

	.genesis-nav-menu,
	.site-header .title-area,
	.site-header .widget-area,
	.site-title {
		text-align: center;
	}

	.title-area {
		margin-bottom: 30px;
	}

	.site-header .search-form {
		margin: 16px auto;
	}

	h1,
	.archive-title,
	.entry-title {
		font-size: 48px;
	}

	.full-width-content img.alignnone,
	.full-width-content figure.alignnone,
	.full-width-content .wp-caption.alignnone {
		margin-bottom: 40px;
		margin-left: -2.5%;
		margin-right: -2.5%;
		min-width: 105%;
	}

	.full-width-content a.alignleft,
	.full-width-content img.alignleft,
	.full-width-content .wp-caption.alignleft {
		margin: 0 40px 40px -2.5%;
	}

	.full-width-content a.alignright,
	.full-width-content img.alignright,
	.full-width-content .wp-caption.alignright {
		margin: 0 -2.5% 40px 40px;
	}

	.extend {
		margin-left: -2.5%;
		margin-right: -2.5%;
		min-width: 105%;
	}

	.alignleft.extend {
		margin-left: -2.5% !important;
	}

	.alignright.extend {
		margin-right: -2.5% !important;
	}

	.before-footer .instagram-pics li {
    		width: 33.33333333%;
	}

}

@media only screen and (max-width: 860px) {

	body > div,
	body {
		font-size: 16px;
	}

	.site-inner {
		padding: 40px 5%;
	}

	.wrap {
		padding-left: 5%;
		padding-right: 5%;
	}

	.site-header > .wrap {
		padding: 40px 5%;
	}

	.js .genesis-nav-menu .sub-menu a,
	.js .genesis-nav-menu .sub-menu {
		width: 100%;
	}

	.genesis-nav-menu li,
	.header-image .title-area,
	.site-header ul.genesis-nav-menu,
	.site-header .search-form {
		float: none;
	}

	.js nav.nav-primary,
	.js .site-header nav  {
		display: none;
		position: relative;
	}

	.js .site-header nav .wrap {
		padding: 0;
	}

	.js nav.pagination {
		display: block;
	}

	.menu-toggle,
	.sub-menu-toggle {
		background: none;
		border: none;
		color: var(--text-dark);
		display: block;
		margin: 0 auto;
		overflow: hidden;
		text-align: center;
		visibility: visible;
	}
	
	.sub-menu-toggle:hover,
	.sub-menu-toggle:focus {
		border-width: 0;
	}

	.menu-toggle {
		line-height: 20px;
		padding: 10px;
		position: relative;
		right: 0;
		text-align: center;
		z-index: 1000;
		width: auto;
	}

	.menu-toggle:before,
	.menu-toggle.activated:before {
		text-rendering: auto;
		-webkit-transform: translate(0, 0);
		-ms-transform:     translate(0, 0);
		transform:         translate(0, 0);
	}

	.sub-menu-toggle {
		float: right;
		padding: 10px;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 100;
	}

	.sub-menu-toggle:before {
		display: inline-block;
		text-rendering: auto;
		-webkit-transform: translate(0, 0);
		-ms-transform:     translate(0, 0);
		transform:         translate(0, 0);
	}

	.sub-menu-toggle.activated:before {
		content: "\f142";
	}

	.js .genesis-nav-menu {
		padding: 20px 0;
	}

	.js .nav-primary .genesis-nav-menu .menu-item,
	.js .site-header .genesis-nav-menu .menu-item {
		display: block;
		float: none;
		margin: 1px 0;
		position: relative;
		text-align: left;
	}

	.js .genesis-nav-menu .menu-item:hover {
		position: relative;
	}

	.js .nav-primary .genesis-nav-menu .menu-item a,
	.js .site-header .genesis-nav-menu .menu-item a {
		border: none;
		padding: 14px 0;
		width: 100%;
	}

	.js .genesis-nav-menu > .social {
  		display: inline-block !important;
		padding: 0 14px;
	}

	.js .genesis-nav-menu .sub-menu {
		border: none;
	}

	.js .genesis-nav-menu .menu-item > a:focus ul.sub-menu,
	.js .genesis-nav-menu .menu-item > a:focus ul.sub-menu .sub-menu {
		left: 0;
		margin-left: 0;
	}

	.js .genesis-nav-menu > .menu-item-has-children > a:after {
		content: none;
	}

	.js .genesis-nav-menu .sub-menu {
		clear: both;
		display: none;
		margin: 0;
		opacity: 1;
		padding-left: 15px;
		position: static;
		width: 100%;
	}

	.js .genesis-nav-menu .sub-menu .sub-menu {
		margin: 0;
	}

	.js nav button:hover,
	.js .menu-toggle:hover,
	.js .menu-toggle:focus {
		border: none;
		color: var(--text-dark);
	}

	.js .nav-primary {
		background-color: var(--background-white);
		color: var(--text-dark);
	}

	.js nav button:focus,
	.js .menu-toggle:focus {
		color: var(--text-medium);
	}

	h1,
	.archive-title,
	.entry-title {
		font-size: 42px;
	}

	.front-page-1 {
		font-size: 18px;
		padding: 40px 0 80px;
	}

	.front-page-2,
	.front-page-3 {
		padding: 80px 0 60px;
	}

	.before-footer .enews form {
   		width: 90%;
	}

	.pagination {
		margin: 5% auto;
	}

	.archive-pagination li a {
		margin-bottom: 4px;
	}

	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		margin: 0;
		width: 100%;
	}

	.content-sidebar img.alignnone,
	.content-sidebar figure.alignnone,
	.content-sidebar .wp-caption.alignnone,
	.sidebar-content img.alignnone,
	.sidebar-content figure.alignnone,
	.sidebar-content .wp-caption.alignnone,
	.full-width-content img.alignnone,
	.full-width-content figure.alignnone,
	.full-width-content .wp-caption.alignnone {
		margin-bottom: 40px;
		margin-left: -5.5%;
		margin-right: -5.5%;
		min-width: 111%;
	}

	.content-sidebar a.alignleft,
	.content-sidebar img.alignleft,
	.content-sidebar .wp-caption.alignleft,
	.sidebar-content a.alignleft,
	.sidebar-content img.alignleft,
	.sidebar-content .wp-caption.alignleft,
	.full-width-content a.alignleft,
	.full-width-content img.alignleft,
	.full-width-content .wp-caption.alignleft {
		margin: 0 40px 40px -5.5%;
	}

	.content-sidebar a.alignright,
	.content-sidebar img.alignright,
	.content-sidebar .wp-caption.alignright,
	.sidebar-content a.alignright,
	.sidebar-content img.alignright,
	.sidebar-content .wp-caption.alignright,
	.full-width-content a.alignright,
	.full-width-content img.alignright,
	.full-width-content .wp-caption.alignright {
		margin: 0 -5.5% 40px 40px;
	}

	.extend {
		margin-left: -5.5%;
		margin-right: -5.5%;
		min-width: 111%;
	}

	.alignleft.extend {
		margin-left: -5.5% !important;
	}

	.alignright.extend {
		margin-right: -5.5% !important;
	}

	.home .widget-area .woocommerce ul.product_list_widget li {
		margin-bottom: 40px;
		margin-left: 5%;
		width: 47.5%;
	}

	.home .widget-area .woocommerce ul.product_list_widget li:nth-child(odd) {
		margin-left: 0;
	}

	.home .featured-content .widget-wrap {
		margin: 0;
	}

	.home .featured-content .widgettitle {
		margin-left: 0 !important;
	}

	.home .featured-content .entry {
		float: none;
		margin-bottom: 20px;
		padding: 0;
		width: 100%;
	}

	.home .featured-content .entry:last-child {
		margin-bottom: 0;
	}

	.footer-widgets {
		padding-top: 0;
	}

	.footer-widgets-1,
	.footer-widgets-2,
	.footer-widgets-3 {
		clear: both;
		float: none;
		margin-left: 0;
		text-align: center;
		width: 100%;
	}

	.site-footer {
		font-size: 12px;
		margin-top: 0;
		padding: 40px 5%;
	}

}

@media only screen and (max-width: 600px) {

	h1,
	.archive-title,
	.entry-title {
		font-size: 36px;
	}

	h2 {
		font-size: 32px;
	}

	h3 {
		font-size: 28px;
	}

	h4 {
		font-size: 22px;
	}

	h5 {
		font-size: 18px;
	}

	blockquote {
		font-size: 20px;
	}

	.entry-comments {
    		padding: 0;
	}

	.front-page-1 {
		font-size: 18px;
	}

	.home .widget-area .woocommerce ul.product_list_widget li {
		float: none;
		margin-left: 0;
		width: 100%;
	}

	.before-footer .enews form {
		padding: 12px 20px;
		width: 100%;
	}

	.before-footer .enews input {
		font-size: 18px;
	}

	.woocommerce ul.products li.product, 
	.woocommerce-page ul.products li.product, 
	.woocommerce-page[class*="columns-"] ul.products li.product, 
	.woocommerce[class*="columns-"] ul.products li.product {
		float: none;
    		width: 100% !important;
	}

	.woocommerce-result-count {
		display: none;
	}

	.woocommerce .woocommerce-ordering {
		float: none;
	}

	.woocommerce .woocommerce-ordering select {
    		margin: 0 auto;
		text-align: center;
	}

	.woocommerce-message .button {
		width: 100%;
	}

	.woocommerce #respond input#submit, 
	.woocommerce a.button, 
	.woocommerce button.button, 
	.woocommerce input.button {
    		letter-spacing: 1px;
    		padding: 10.5px 10px;
	}

	.woocommerce-error, 
	.woocommerce-info, 
	.woocommerce-message {
    		font-size: 11px;
	}
	.single .rp4wp-related-posts ul>li {
		padding-left: 25px;
		position: relative;
	}
	.single .site-inner {
		padding: 40px 2%;
	}
	.before-footer ul#menu-footer-navigation li {
		display: inline-block;
	}
	.before-footer ul#menu-footer-navigation li a {
		padding: 15px 5px;
		font-size: 12px;
	}
	.single .rp4wp-related-posts ul>li:before{
		color: #ccc;
		content: "\f522";
		font-family: 'Dashicons';
		margin-right: 10px;
		/* display: inline-block; */
		/* float: left; */
		clear: none;
		position: absolute;
		left: 0;		
	}


}


/* # Print Styles
---------------------------------------------------------------------------------------------------- */

@media print {

	*,
	*:before,
	*:after {
		background: transparent !important;
		box-shadow: none !important;
		color: var(--text-dark) !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	a[href^="javascript:"]:after,
	a[href^="#"]:after,
	.site-title > a:after {
		content: "";
	}

	thead {
		display: table-header-group;
	}

	img,
	tr {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 2cm 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	blockquote,
	pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	.content,
	.content-sidebar {
		width: 100%;
	}

	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.header-widget-area,
	.hidden-print,
	.home-top,
	.nav-primary,
	.nav-secondary,
	.post-edit-link,
	.sidebar {
		display: none !important;
	}

	.title-area {
		text-align: center;
		width: 100%;
	}

	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}

	.site-inner {
		padding-top: 0;
		position: relative;
		top: -100px;
	}

	.author-box {
		margin-bottom: 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}


	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}

	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}

	dl,
	ol,
	ul {
		page-break-before: avoid;
	}

}

/* # Custom Card Styles - Extracted from functions.php
---------------------------------------------------------------------------------------------------- */

/* Homepage and Category Page Card Styles */
#genesis-content {
    width: 100% !important;
    float: none !important;
    max-width: none !important;
}

#genesis-content .wrap {
    max-width: 1300px !important;
    margin: 0 auto;
    padding: 40px 24px;
    width: 100% !important;
}

.cards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: stretch;
    grid-auto-rows: 1fr;
}

.card {
    background: var(--background-white);
    border: 1px solid var(--border-medium);
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.card:hover {
    box-shadow: var(--card-shadow);
}

.card-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--text-dark);
    padding: 24px;
    padding-bottom: 0;
    height: 100%;
    flex: 1;
}

.card-tag {
    color: var(--card-tag-color);
    font-size: 14px;
    font-weight: 500;
    font-family: var(--font-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
    transition: color 0.2s ease;
}

.card-link:hover .card-tag {
    color: var(--card-tag-hover);
}

.card-title {
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    font-family: "Libre Baskerville", serif;
    color: var(--text-dark);
    margin: 0 0 24px 0;
    flex-grow: 1;
}

.card-link:hover .card-title {
    text-decoration: underline;
}

.card-image {
    width: calc(100% + 48px) !important;
    height: 160px !important;
    min-height: 160px !important;
    max-height: 160px !important;
    margin: 24px -24px 0 -24px !important;
    overflow: hidden;
    border-radius: 0 0 8px 8px;
    border-top: 1px solid #dadce0;
    position: relative;
}

.card-image img {
    width: 100% !important;
    height: 160px !important;
    min-width: 100%;
    min-height: 160px;
    max-width: 100%;
    max-height: 160px;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
    display: block;
    vertical-align: bottom;
}

.card:hover .card-image img {
    transform: scale(1.05);
}

/* Cards without images - 26px font */
.card-no-image .card-title {
    font-size: 26px !important;
    line-height: 32px !important;
    margin-bottom: 0 !important;
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.card-no-image .card-link {
    padding-bottom: 24px !important;
    min-height: 280px;
    justify-content: center;
}

/* Group with no images - much shorter cards */
.group-no-images.card {
    min-height: 160px !important;
}

.group-no-images.card .card-link {
    min-height: 160px !important;
    padding: 16px !important;
}

.group-no-images.card .card-title {
    font-size: 26px !important;
    line-height: 32px !important;
}

.group-no-images.card .card-tag {
    margin-bottom: 6px !important;
    font-size: 12px !important;
}

.pagination-wrapper {
    margin-top: 40px;
    text-align: center;
}

.pagination-wrapper .nav-links {
    display: flex;
    justify-content: center;
    gap: 20px;
    font-family: var(--font-primary);
}

.pagination-wrapper .nav-links a {
    padding: 12px 24px;
    border: 1px solid #dadce0;
    border-radius: 8px;
    text-decoration: none;
    color: var(--card-tag-color);
    font-weight: 500;
    transition: all 0.2s ease;
}

.pagination-wrapper .nav-links a:hover {
    background-color: var(--card-tag-color);
    color: white;
}

/* Related Articles Section - Full Width Container */
.related-articles-section {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background-color: var(--background-light);
    margin-top: 60px;
    overflow-x: hidden;
}

.related-articles-wrapper {
    padding: 60px 0;
    border-top: 1px solid #e8eaed;
}

.related-articles-wrapper .wrap {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 24px;
}

.related-articles-title {
    font-family: "Libre Baskerville", serif;
    font-size: 32px;
    font-weight: 400;
    color: var(--text-dark);
    text-align: center;
    margin-bottom: 40px;
}

.related-articles-grid {
    max-width: 1300px;
    margin: 0 auto;
}

/* Footer Menu Styles */
.footer-menu-wrapper {
    background-color: var(--background-light);
    border-top: 1px solid var(--border-medium);
    padding: 20px 0;
    margin-top: 40px;
}

.footer-menu-wrapper .wrap {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 24px;
}

.footer-menu {
    text-align: center;
}

.footer-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
}

.footer-menu-list li {
    margin: 0;
}

.footer-menu-list a {
    color: var(--text-medium);
    text-decoration: none;
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: color 0.2s ease;
}

.footer-menu-list a:hover {
    color: var(--primary-color);
}

/* Menu Toggle Icon Fix */
.menu-toggle:before {
    content: "\f333" !important;
    font-family: dashicons !important;
    display: block !important;
}

/* Mobile cards - Brief theme style horizontal layout */
@media (max-width: 767px) {
    /* Safer extend classes for mobile to prevent overflow */
    .extend {
        margin-left: -1% !important;
        margin-right: -1% !important;
        min-width: 102% !important;
    }
    
    .alignleft.extend {
        margin-left: -1% !important;
    }
    
    .alignright.extend {
        margin-right: -1% !important;
    }
    
    .cards-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        overflow-x: hidden;
    }
    
    /* All mobile cards use horizontal layout like Brief theme */
    .card {
        min-height: auto !important;
        flex-direction: row !important;
        align-items: center !important;
        padding: 0 !important;
        background-color: var(--background-white);
        border-radius: 8px;
        box-shadow: none !important;
        max-width: 100%;
        overflow: hidden;
    }
    
    .card:hover {
        box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px 3px rgba(60, 64, 67, 0.15) !important;
    }
    
    .card-link {
        display: grid !important;
        grid-template-columns: 1fr 100px !important;
        grid-template-rows: auto auto !important;
        grid-template-areas: 
            "tag image"
            "title image" !important;
        align-items: center !important;
        padding: 0 16px 0 0 !important;
        min-height: auto !important;
        text-decoration: none;
        width: 100%;
        max-width: 100%;
        gap: 0 16px !important;
        overflow: hidden;
        box-sizing: border-box;
    }
    
    /* Mobile image - positioned on right in grid with spacing like Brief */
    .card-image {
        grid-area: image !important;
        width: 100px !important;
        min-width: 100px !important;
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
        margin: 0 16px 0 0 !important;
        border-radius: 8px !important;
        overflow: hidden;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #fff !important;
        border: 1px solid #e8eaed !important;
    }
    
    .card-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 70px !important;
        max-height: 70px !important;
        object-fit: cover;
        border-radius: 8px;
    }
    
    .card-tag {
        grid-area: tag !important;
        font-size: 12px !important;
        margin: 0 !important;
        font-weight: 500 !important;
        color: var(--card-tag-color) !important;
        padding: 15px 0 6px 16px !important;
        align-self: end !important;
    }
    
    .card-title {
        grid-area: title !important;
        font-size: 20px !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        font-weight: 500 !important;
        color: var(--text-dark) !important;
        padding: 0 0 15px 16px !important;
        align-self: start !important;
    }
    
    /* Dynamic sizing based on content length - 118px base minimum */
    .card.short-content {
        min-height: 118px !important;
    }
    
    .card.medium-content {
        min-height: 134px !important;
    }
    
    .card.long-content {
        min-height: 150px !important;
    }
    
    /* Cards without images on mobile */
    .card-no-image .card-link {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 16px !important;
        grid-template-areas: none !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
    }
    
    .card-no-image .card-tag {
        grid-area: initial !important;
        padding: 0 0 6px 0 !important;
        text-align: center !important;
        align-self: initial !important;
    }
    
    .card-no-image .card-title {
        grid-area: initial !important;
        font-size: 20px !important;
        line-height: 1.4 !important;
        text-align: center !important;
        padding: 0 !important;
        align-self: initial !important;
    }
    
    /* Ensure all card titles are 20px on mobile */
    .card-title {
        font-size: 20px !important;
    }
    
    .related-articles-section {
        margin-top: 40px;
        width: 100% !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow-x: hidden;
    }
    
    .related-articles-wrapper {
        padding: 40px 0;
    }
    
    .related-articles-title {
        font-size: 28px;
        margin-bottom: 30px;
    }
    
    /* Mobile footer menu */
    .footer-menu-wrapper {
        padding: 16px 0;
    }
    
    .footer-menu-list {
        gap: 20px;
    }
    
    .footer-menu-list a {
        font-size: 12px;
    }
}

@media (min-width: 768px) {
    .cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .cards-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
    
    .card-title {
        font-size: 20px;
        line-height: 28px;
    }
    
    .card-tag {
        font-size: 14px;
        letter-spacing: 0.1em;
    }
}