/*
Theme Name: Dor Hadash 
Theme URI: https://www.dorhadash.net/
Description: 
Version: 1.0
Author: Addicott Web
Author URI: https://www.synagogue-websites.com/
*/

/* Root Variables */
:root {

	/* Typography */
	--font-body:  "objektiv-variable", sans-serif;
	--font-heading:  "objektiv-variable", sans-serif;

	/* Font Weights */
	--font-weight-thin: 100;
	--font-weight-extra-light: 200;
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--font-weight-extra-bold: 800;
	--font-weight-black: 900;

	/* Base Typography */
	--body-font-size: 20px;
	--body-line-height: 1.5;
	--body-font-weight: var(--font-weight-light);

	--heading-font-weight: var(--font-weight-medium);
	--strong-font-weight: var(--font-weight-semibold);

	/* Heading Sizes */
	--h1-font-size: 48px;
	--h1-line-height: 1.2;

	--h2-font-size: 36px;
	--h2-line-height: 1.25;

	--h3-font-size: 30px;
	--h3-line-height: 1.3;

	--h4-font-size: 24px;
	--h4-line-height: 1.4;

	--h5-font-size: 20px;
	--h5-line-height: 1.4;

	--h6-font-size: 18px;
	--h6-line-height: 1.4;
	
	/* Global Colors */
	--body-bg: #f6f6f6;
	--text-color: #000;

	--heading-color: #222222;
	--h1-color: #05668d;

	--link-color: #05668d;
	--link-hover-color: #05668d;

	--border-color: #cccccc;
	
	/* Spacing */
	--spacing-text: 20px;
	--spacing-heading: 30px;
	--section-spacing: 40px;

	/* Pagination */
	--pagination-color: #222222;
	--pagination-bg: transparent;
	--pagination-border: #cccccc;

	--pagination-hover-color: #ffffff;
	--pagination-hover-bg: #333333;
	--pagination-hover-border: #333333;

	--pagination-active-color: #ffffff;
	--pagination-active-bg: #333333;
	--pagination-active-border: #333333;

	/* Subpage Navigation */
	--subnav-font-size: 15px;
	--subnav-font-weight: var(--font-weight-regular);

	--subnav-link-bg: transparent;
	--subnav-link-color: #fff;

	--subnav-link-hover-bg: transparent;
	--subnav-link-hover-color: #fff;

	--subnav-link-active-bg: transparent;
	--subnav-link-active-color: #fff;

	--subnav-border-color: transparent;
	--subnav-border-radius: 0;

	--subnav-padding-y: 0;
	--subnav-padding-x: 20px;

	--subnav-row-padding-top: 20px;
	--subnav-row-padding-bottom: 20px;
	
	--subnav-gap: 5px;
	
	/* Search Modal */
	--search-overlay-bg: rgba(0, 0, 0, 0.75);

	--search-modal-bg: #ffffff;

	--search-field-bg: #ffffff;
	--search-field-color: #222222;
	--search-field-border: #cccccc;
	--search-field-focus-border: #333333;

	--search-button-bg: #333333;
	--search-button-color: #ffffff;
	--search-button-border: #333333;

	--search-button-hover-bg: #ffffff;
	--search-button-hover-color: #333333;
	--search-button-hover-border: #333333;

	/* Search Results */
	--search-result-url-color: var(--text-color);
	
	/* Footer */
	--footer-color: #fff;
	
	--footer-font-family: var(--font-body);
	--footer-font-size: 16px;
	--footer-font-weight: var(--font-weight-regular);

	--footer-heading-font-family: var(--font-heading);
	--footer-heading-font-weight: var(--font-weight-semibold);
	--footer-heading-font-size: 20px;
	--footer-heading-color: #ffffff;

	--footer-link-color: #ffffff;
	--footer-link-hover-color: #ffffff;
	
	/* Copyright */
	--copyright-bg: transparent;
	--copyright-color: #ffffff;

	--copyright-font-family: var(--font-body);
	--copyright-font-size: 14px;
	--copyright-font-weight: var(--font-weight-regular);

	--copyright-link-color: #ffffff;
	--copyright-link-hover-color: #ffffff;
}

/* Base styles */
body { background: #F2FAFC; background: linear-gradient(90deg, rgba(242, 250, 252, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(242, 250, 252, 1) 100%); color: var(--text-color); font-family: var(--font-body); font-size: var(--body-font-size); line-height: var(--body-line-height); font-weight: var(--body-font-weight); }

/* Text */
p { margin: var(--spacing-text) 0 0; }
strong { font-weight: var(--strong-font-weight); }
em { font-style: italic; }
small { font-size: 0.75em; line-height: 1.5; font-weight: var(--font-weight-regular); }
blockquote { margin: var(--spacing-text) 0 0 30px; padding: 0; border: 0; }

/* Links */
a { color: var(--link-color); text-decoration: underline; }
a:hover,
a:focus { color: var(--link-hover-color); text-decoration: none; }

/* Elementor Content Links */
.elementor-widget-text-editor a,
.elementor-tab-content a { text-decoration: underline !important; }
.elementor-widget-text-editor a:hover,
.elementor-widget-text-editor a:focus,
.elementor-tab-content a:hover,
.elementor-tab-content a:focus { text-decoration: none !important; }

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 { font-family: var(--font-heading); font-weight: var(--heading-font-weight); color: var(--heading-color); }

h1 { margin: 0; font-size: var(--h1-font-size); line-height: var(--h1-line-height); color: var(--h1-color); }
h2 { margin: var(--spacing-heading) 0 0; font-size: var(--h2-font-size); line-height: var(--h2-line-height); }
h3 { margin: var(--spacing-heading) 0 0; font-size: var(--h3-font-size); line-height: var(--h3-line-height); }
h4 { margin: var(--spacing-heading) 0 0; font-size: var(--h4-font-size); line-height: var(--h4-line-height); }
h5 { margin: var(--spacing-heading) 0 0; font-size: var(--h5-font-size); line-height: var(--h5-line-height); }
h6 { margin: var(--spacing-heading) 0 0; font-size: var(--h6-font-size); line-height: var(--h6-line-height); }

/* Content lists */
.content ul { list-style: disc; margin: var(--spacing-text) 0 0 30px; padding: 0; }
.content ol { list-style: decimal; margin: var(--spacing-text) 0 0 30px; padding: 0; }
.content ul li,
.content ol li { margin-bottom: 10px; padding-left: 10px; }
.content ul ul { list-style: circle; margin: 10px 0 10px 30px; }
.content ol ol { list-style: lower-alpha; margin: 10px 0 10px 30px; }

/* Images */
img { max-width: 100%; height: auto; }
.alignnone { display: block; margin: var(--spacing-text) 0 0; }
.aligncenter { display: block; margin: var(--spacing-text) auto 0; }
.alignright { float: right; margin: 5px 0 20px 25px; }
.alignleft { float: left; margin: 5px 25px 20px 0; }

	@media (max-width: 767.98px) {
	.alignright,
	.alignleft,
	.aligncenter { float: none; display: block; margin: var(--spacing-text) auto 0; }
	}

iframe,
object,
embed { max-width: 100%; }

/* Section Spacing */
.content { padding-top: var(--section-spacing); padding-bottom: var(--section-spacing); }

/* Post Summaries */
.post-summary { margin-bottom: var(--section-spacing); }
.post-summary-title { margin-top: 0; }
.post-summary-title a { color: inherit; text-decoration: none; }
.post-summary-title a:hover,
.post-summary-title a:focus { color: var(--link-hover-color); }
.post-summary-image img { display: block; width: 100%; height: auto; }
.post-summary-date { margin-top: 5px; font-size: 14px; line-height: 1.5; }
.post-summary-excerpt p:first-child { margin-top: 15px; }

/* Pagination */
.navigation.pagination { display: flex; justify-content: center; width: 100%; margin-top: calc(var(--section-spacing) * 2); margin-bottom: var(--section-spacing); }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; }
.navigation.pagination .page-numbers { display: flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; background-color: var(--pagination-bg); border: 1px solid var(--pagination-border); color: var(--pagination-color); text-decoration: none; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus { background-color: var(--pagination-hover-bg); border-color: var(--pagination-hover-border); color: var(--pagination-hover-color); }
.navigation.pagination .page-numbers.current { background-color: var(--pagination-active-bg); border-color: var(--pagination-active-border); color: var(--pagination-active-color); }
.navigation.pagination .prev,
.navigation.pagination .next { width: auto; padding: 0 16px; }
.navigation.pagination .dots { border-color: transparent; }

	/* Small Mobile */
	@media (max-width: 575.98px) {
	.navigation.pagination .nav-links { gap: 4px; }
	.navigation.pagination .page-numbers { min-width: 38px; height: 38px; padding: 0 10px; 	}
	}

/* Search Modal */
.modal-backdrop.show { opacity: 1; background-color: var(--search-overlay-bg); }
.search-modal .modal-dialog { max-width: 700px; }
.search-modal .modal-content { background-color: var(--search-modal-bg); border: 0; border-radius: 0; }
.search-modal .modal-body { position: relative; padding: 60px; }
.search-modal-close { position: absolute; top: 20px; right: 20px; }
.search-modal-title { margin: 0 0 25px; }
.search-form-inner { display: flex; align-items: stretch; width: 100%; }
.search-field { flex: 1; min-width: 0; padding: 15px 18px; background-color: var(--search-field-bg); color: var(--search-field-color); border: 1px solid var(--search-field-border); border-right: 0; border-radius: 0; font: inherit; }
.search-field:focus { outline: none; border-color: var(--search-field-focus-border); }
.search-field::placeholder { color: inherit; opacity: 0.6; }
.search-submit { flex-shrink: 0; padding: 15px 25px; background-color: var(--search-button-bg); color: var(--search-button-color); border: 1px solid var(--search-button-border); border-radius: 0; font: inherit; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.search-submit:hover,
.search-submit:focus { background-color: var(--search-button-hover-bg); color: var(--search-button-hover-color); border-color: var(--search-button-hover-border); }

	/* Small Mobile */
	@media (max-width: 575.98px) {
	.search-modal .modal-dialog { margin: 15px; }
	.search-modal .modal-body { padding: 50px 25px 30px; }
	.search-form-inner { flex-direction: column; gap: 10px; }
	.search-field { width: 100%; border-right: 1px solid var(--search-field-border); }
	.search-submit { width: 100%; }
	}

/* Hebcal */
.hebcal-container { }
.hebcal-container h3 { display: none; }
.hebcal-container .copyright { display: none; }
.hebcal-container ul.hebcal-results { list-style: none; margin: 0; }
.hebcal-container ul.hebcal-results li { margin: 0 0 5px 0; padding: 0; font-size: 18px; line-height: 28px; }
.hebcal-container ul.hebcal-results li strong { font-weight: 400 !important; }
.hebcal-container ul.hebcal-results li a { color: #000; text-decoration: none !important; }
.hebcal-container ul.hebcal-results li.candles { }
.hebcal-container ul.hebcal-results li.havdalah { }
.hebcal-container ul.hebcal-results li.parashat { display: none !important; }
.hebcal-container ul.hebcal-results li.holiday { display: none !important; }
.hebcal-container ul.hebcal-results li.zmanim { display: none !important; }
.hebcal-container ul.hebcal-results li.mevarchim { display: none !important; }
.hebcal-container ul.hebcal-results li.roshchodesh { display: none !important; }

/* Page title area */
.page-title { background: #DAD7CD; background: linear-gradient(90deg, rgba(218, 215, 205, 1) 0%, rgba(250, 243, 221, 1) 50%, rgba(218, 215, 205, 1) 100%); }
.page-title .row { padding-top: 80px; padding-bottom: 80px; }

/* Search Results */
.search-results-list { list-style: none; margin: var(--section-spacing) 0 0; padding: 0; }
.search-results-list .search-result { margin-bottom: var(--section-spacing); padding: 0 0 var(--section-spacing); font-size: inherit; line-height: inherit; font-weight: inherit; border-bottom: 1px solid var(--border-color); list-style: none; }
.search-results-list .search-result:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.search-result-title { margin: 0; font-size: 24px; line-height: 1.4; font-weight: var(--font-weight-semibold); }
.search-result-title a { color: var(--link-color); text-decoration: underline; }
.search-result-title a:hover,
.search-result-title a:focus { color: var(--link-hover-color); text-decoration: none; }
.search-result-url { margin-top: 10px; color: var(--search-result-url-color); font-size: 16px; line-height: 1.5; font-weight: var(--font-weight-semibold); }
.search-result-excerpt { margin-top: 20px; }
.search-result-excerpt p { margin-top: 0; }

/* Gradient backgrounds */
.tan-gradient { background: #DAD7CD; background: linear-gradient(90deg, rgba(218, 215, 205, 1) 0%, rgba(250, 243, 221, 1) 50%, rgba(218, 215, 205, 1) 100%); }
.blue-gradient { background: #427AA1; background: linear-gradient(90deg, rgba(66, 122, 161, 1) 0%, rgba(0, 150, 199, 1) 50%, rgba(66, 122, 161, 1) 100%); }

/* General Subpage Navigation */
.subpage-nav { margin: 0; padding: 0; background: #238C5A; background: linear-gradient(90deg, rgba(35, 140, 90, 1) 0%, rgba(39, 156, 100, 1) 50%, rgba(35, 140, 90, 1) 100%); }
.subpage-nav ul { margin: 0; padding: 0; list-style: none; }
.subpage-nav li { margin: 0; padding: 0; }

.subpage-nav a { display: block; padding: var(--subnav-padding-y) var(--subnav-padding-x); background-color: var(--subnav-link-bg); color: var(--subnav-link-color); border: 1px solid var(--subnav-border-color); border-radius: var(--subnav-border-radius); font-size: var(--subnav-font-size); font-weight: var(--subnav-font-weight); transition: background-color 0.2s ease, color 0.2s ease; }
.subpage-nav a:hover,
.subpage-nav a:focus { background-color: var(--subnav-link-hover-bg); color: var(--subnav-link-hover-color); }

/* Current Page */
.subpage-nav .current_page_item > a,
.subpage-nav .current-menu-item > a { background-color: var(--subnav-link-active-bg); color: var(--subnav-link-active-color); }

/* Option #1: Horizontal Subpage Navigation */
.subpage-nav-horizontal .row { padding-top: var(--subnav-row-padding-top); padding-bottom: var(--subnav-row-padding-bottom); }
.subpage-nav-horizontal ul { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; margin: 0; padding: 0; list-style: none; }
.subpage-nav-horizontal li { flex: 0 0 auto; margin: 0; font-size: var(--subnav-font-size); color: var(--subnav-link-color); border-right: 1px solid rgba(255, 255, 255, .2); }
.subpage-nav-horizontal li:last-child { border-right: none; }
.subpage-nav-horizontal .content-subpages-title { padding: var(--subnav-padding-y) var(--subnav-padding-x); margin: 0; font-size: var(--subnav-font-size); }
.subpage-nav-horizontal a { height: 100%; white-space: nowrap; }

/* Option #2: Vertical Subpage Navigation */
.subpage-nav-vertical ul { display: block; }
.subpage-nav-vertical li { display: block; width: 100%; margin-bottom: var(--subnav-gap); }
.subpage-nav-vertical li:last-child { margin-bottom: 0; }
.subpage-nav-vertical a { width: 100%; }

/* Footer */
.footer { background: #05668D; background: linear-gradient(90deg, rgba(5, 102, 141, 1) 0%, rgba(66, 122, 161, 1) 50%, rgba(5, 102, 141, 1) 100%); position: relative; overflow: hidden; }
.footer::before { content: ""; position: absolute; inset: 0; background-image: url('images/logo-watermark.png'); background-size: contain; background-position: center center; background-repeat: no-repeat; opacity: 0.25; z-index: 0; }
.footer > * { position: relative; z-index: 1; }
.footer h4 { color: var(--footer-heading-color); font-family: var(--footer-heading-font-family); font-weight: var(--footer-heading-font-weight); font-size: var(--footer-heading-font-size); }
.footer a { color: var(--footer-link-color); text-decoration: none; }
.footer a:hover,
.footer a:focus { color: var(--footer-link-hover-color); text-decoration: underline; }

.footer-top .row { padding-top: 30px; padding-bottom: 60px; }
.footer-top p { font-size: var(--footer-font-size); margin-top: 10px; color: var(--footer-color); }
.footer-top ul { list-style: none; margin: 10px 0 0 0; padding: 0; }
.footer-top ul li { display: inline; margin: 0 15px; padding: 0; }

/* Copyright */
.copyright { background-color: var(--copyright-bg); color: var(--copyright-color); font-family: var(--copyright-font-family); font-size: var(--copyright-font-size); font-weight: var(--copyright-font-weight); border-top: 2px solid rgba(255, 255, 255, .2); }
.copyright .row { padding-top: 60px; padding-bottom: 60px; }
.copyright a { color: var(--copyright-link-color); text-decoration: none; }
.copyright a:hover,
.copyright a:focus { color: var(--copyright-link-hover-color); text-decoration: underline; }
.copyright p { font-size:  var(--copyright-font-size); margin-top: 0; }

.footer-logos .row { padding-top: 25px; padding-bottom: 25px; }
.footer-logos ul { list-style: none; margin: 0; }
.footer-logos ul li { display: inline; margin: 0 20px; padding: 0; }