/*
Theme Name: CDC Custom Theme
Theme URI: https://cllrdickcole.org
Template: astra
Author: Design by Greg
Author URI: https://designbygreg.uk
Description: Custom 'Child Theme' of Astra WordPress theme: https://wpastra.com/
Version: 1.0.1
Updated: 2025-10-10 14:09:24

*/

:root {
	--col-00: #dc5; /* Brand and link:hover #dc5 */
	--col-01: #ba3; /* Alternate Brand and link:focus #ba3 – for accessibility [TAB] */
	--col-02: #444; /* Headings #444 */
	--col-03: #222; /* Text #222 */
	--col-04: #FFF; /* Primary Background #FFF */
	--col-05: #EEE; /* Secondary Background #EEE */
	--col-06: #222; /* Alternate Background #222 */
	--col-07: #fff199; /* Subtle Background #fff199 */
	--col-08: #000; /* Other Supporting #000 */
	--col-09: #CCC; /* Subtle Border #CCC */
}


/** TYPOGRAPHY **/

h1, h2, h4, h5 {
	font-family:'athelas', serif;
	font-weight:400;
	font-style:normal;
	letter-spacing:-0.02em;
	font-feature-settings:'lnum';
}

h4, h5 {
	font-weight:700;
}

h3, h6 {
	font-family:'agenda', sans-serif;
	font-weight:600;
	font-style:normal;
}

body, p, ul, ol, li, address, blockquote, input, select, textarea, button, label, .ast-button, .ast-custom-button {
	font-family:'agenda', sans-serif;
	font-weight:300;
	font-style:normal;
	font-size:1em;
	line-height:1.2;
}

body { font-size:20px; }

b, strong { font-weight:400; text-wrap:balance; }
strong { font-weight:600; }
ul, ol, li { font-weight:400; }

.entry-content :where(b, strong) { color:var(--col-02); }

.entry-content ul, .entry-content ol { margin: 0 0 20px 1em; }

h1, .entry-content h1 { font-size:2.2em; }
h2, .entry-content h2 { font-size:1.9em; }
h3, .entry-content h3 { font-size:1.7em; }
h4, .entry-content h4 { font-size:1.6em; }
h5, .entry-content h5 { font-size:1.4em; }
h6, .entry-content h6 { font-size:1.2em; }

.entry-content :where(p, h1, h2, h3, h4, h5, h6) { margin:0 0 20px !important; }

h1, h2, h3, h4, h5, h6, .entry-content :where(h1, h2, h3, h4, h5, h6) { line-height:1 !important; text-wrap:balance; }
/* .entry-content :where(h1, h2, h3, h4, h5, h6) { margin-top:40px !important; } */

.entry-content a { text-decoration:none !important; }
.entry-content p a { text-decoration:underline !important; font-weight:400; white-space:nowrap; }
.entry-content ul li, .entry-content ol li { margin-bottom:20px; color:var(--col-02); }

/* Links */

a:focus { color:var(--col-01); }


/** HEADER **/

.ast-above-header.ast-above-header-bar, .ast-primary-header-bar { background:none; }
/* .ast-primary-header-bar { width:95%; } */
/* .site-above-header-wrap, .site-primary-header-wrap, .site-below-header-wrap { width:95%; } */

#masthead { background-color:var(--col-06); }
#ast-desktop-header { 
	background-image:url('https://cllrdickcole.org/wp-content/uploads/dick-cole-headshot.jpg');
	background-repeat:no-repeat;
	background-size:contain;
	background-position:left calc(50% + 390px) top;
	margin:auto;
	max-width:none !important;
	min-height:350px;
}

.site-title, .site-description { font-family:'athelas', serif; font-size:1.5em; letter-spacing:-0.02em; font-feature-settings:'lnum'; line-height:1 !important; text-wrap:balance; }
.site-title { font-size:2.4em; }
.site-description:after { display:block; content:'Mebyon Kernow – the Party for Cornwall'; color:var(--col-00); }

.ast-search-icon { right:-8px; }
.ast-search-icon .slide-search { padding:2px 8px; }
.ast-icon.icon-search svg { width:24px; height:auto; margin:5px 0 0; }
.ast-header-search .slide-search .search-form { border:none; background-color:#fffe; right:-8px; }
/* .ast-search-menu-icon.ast-dropdown-active .search-field, .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field { width:330px; } */
#ast-desktop-header input.search-field { width:330px; }
.ast-header-search .slide-search input[type="search"] { padding: 12px 40px 12px 12px; }
.ast-header-search .slide-search input[type="search"]:focus { background-color:transparent; }

.main-navigation .menu-item { font-weight:600; }

/* Desktop Menu */

#ast-desktop-header .ast-below-header-wrap .ast-builder-grid-row { grid-column-gap:0; grid-template-columns:0 auto 1fr !important; }
#ast-desktop-header .ast-below-header-bar { background:linear-gradient(90deg,#fff, #fffc); }
#ast-desktop-header .main-navigation { max-height:50px; }
#ast-desktop-header .main-header-menu .menu-item:not(.current-menu-item, .current-menu-parent) .menu-link { height:50px; padding:0 0.9em; }
#ast-desktop-header .main-header-menu > .current-menu-item, #ast-desktop-header .main-header-menu > .current-menu-parent { top:10px; height:70px; } /* Offset <li> */
#ast-desktop-header .main-header-menu > .current-menu-item .menu-link, #ast-desktop-header .main-header-menu > .current-menu-parent .menu-link { padding:0 20px 20px; } /* Offset <a> */
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link, .ast-builder-menu-1 .menu-item.current-menu-parent > .menu-link { background-color:var(--col-00); color:var(--col-04); }
.ast-builder-menu-1 .menu-item > .menu-link:hover { background-color:var(--col-01); color:var(--col-04); }
#ast-desktop-header .ast-header-social-wrap { margin-right:-10px; }
#ast-desktop-header .header-social-item { padding:12px; }

/* Mobile Menu */

#ast-mobile-header .ast-below-header-bar { padding:0 10px !important; }
#ast-mobile-header .menu-toggle { padding:10px; }
#ast-mobile-header .menu-toggle:focus { outline:none; border:none; }
#ast-mobile-header .ast-search-icon { right:0; }
#ast-mobile-header input.search-field { width:50vw; }
#ast-mobile-header .menu-link { padding:15px 20px; font-size:1.2em; }

/* Accessible Header */

.site-title a:focus { color:var(--col-00); }
/*.ast-search-icon > a:focus { background-color:var(--col-01); }
.ast-search-icon > a:focus svg { color:var(--col-04); }
#ast-mobile-header .menu-toggle:focus { background-color:var(--col-01); } */
#ast-mobile-header .menu-toggle:focus .mobile-menu { color:var(--col-00); }
#ast-mobile-header .menu-toggle:focus svg { fill:var(--col-00); }
.ast-builder-menu-1 .menu-item > .menu-link:focus { background-color:var(--col-01); color:var(--col-04); }
#ast-desktop-header .header-social-item:focus { background-color:var(--col-01); }
#ast-desktop-header .header-social-item:focus svg { fill:var(--col-04); }


/** FOOTER **/

/* .site-above-footer-inner-wrap, .site-primary-footer-inner-wrap, .site-below-footer-inner-wrap { width:95%; } */

footer .site-above-footer-wrap { padding:0 20px !important; }
footer .ast-facebook { padding:15px; font-weight:600; margin-left:-15px !important; }
footer .ast-facebook, footer .ast-facebook svg { transition:all .3s; }
footer .ast-facebook:hover, footer .ast-facebook:focus { color:var(--col-04); }
footer .ast-facebook:focus { background-color:var(--col-01); }
footer .ast-facebook:after { margin-left:10px; content:'Follow Cllr Cole on Facebook'; }
footer .ast-facebook:hover svg, footer .ast-facebook:focus svg { fill:var(--col-04); }

.mk-logo { display:inline-block; padding:5px; margin:-5px; }
.mk-logo:hover img { transform:scale(1.1); }


/* #footer h2 { font-size:1.8em; } */
.site-primary-footer-wrap li { line-height:1.4; }
.site-primary-footer-wrap p:not(:last-child), .site-primary-footer-wrap h2 { margin-bottom:10px; }
.site-primary-footer-wrap { color:var(--col-04); }

.site-footer-primary-section-1, .site-footer-primary-section-1 div { height:100%; }
.site-footer-primary-section-1 .ast-builder-html-element { display:grid; align-content:space-between; }
.site-footer-primary-section-1 p:last-child { line-height:1.4; }
.site-footer-primary-section-1 h2 { color:var(--col-00); }

.site-footer-primary-section-2, .site-footer-primary-section-2 div { height:100%; }
.site-footer-primary-section-2 .ast-builder-html-element { display:grid; align-content:space-between; }
.site-footer-primary-section-2 h2 { color:var(--col-04); }
.site-footer-primary-section-2 a { color:var(--col-01); }
.site-footer-primary-section-2 a:hover, .site-footer-primary-section-2 a:focus { color:var(--col-00); }
.site-footer-primary-section-2 ul { margin: 0 0 0 1em; list-style:none; }
/* .site-footer-primary-section-2 li:not(:last-child) { margin-bottom:0.2em; } */
.site-footer-primary-section-2 li:before { font:var(--fa-font-solid); content:'\f0da'; margin:0 0.5em 0 -0.9em; }

.site-below-footer-wrap { font-size:0.9em; text-wrap:balance; }

.dbG-link a { font-weight:600; }
.dbG-link a:focus { color:var(--col-01) !important; }


/** LAYOUT **/

.nowrap { white-space:nowrap; }
.tabbed { width:1.5em; padding-right:0.3em; text-align:center; }
.balance { text-wrap:balance; }

.wp-caption .wp-caption-text {
	margin:1em 0;
	font-size:0.9em;
	font-weight:600;
	font-style:italic;
	text-wrap:balance;
	color:var(--col-02);
}

#ast-scroll-top { background-color:var(--col-00); opacity:0.8; transition:opacity .3s; }
#ast-scroll-top:hover { background-color:var(--col-00); opacity:1; }

/* Pages */

.u-heading h3 { color:var(--col-00); border-bottom:2px solid var(--col-00); padding-bottom:10px; }

.elementor-widget-image-carousel .swiper-slide { padding:10px; }
.elementor-swiper-button { padding:10px; background-color: #0009; }

.callout p { margin:0 !important; padding:30px; border-top:2px solid var(--col-00); font-weight:300; text-wrap:balance; }

/* Posts */

#primary, #secondary { margin:20px 0 40px !important; padding-top:0 !important; }
#secondary li { line-height:1.1; margin-bottom:20px; text-wrap:balance; }

.ast-archive-description { padding:2em 1.5em !important; margin-bottom:20px !important; border-radius:6px; }
body.archive .ast-archive-description .ast-archive-title { font-size:2.2em; font-weight:400; }

.ast-single-entry-banner[data-post-type="post"] .entry-title { font-size:2.2em; font-weight:400; }
.ast-single-entry-banner[data-post-type="post"] .entry-meta, .ast-single-entry-banner[data-post-type="post"] .entry-meta * { font-size:1rem; font-weight:400; }

.entry-title { margin-bottom: 5px; border-bottom:2px solid var(--col-00); padding-bottom:20px; font-size:1.6em; }
.entry-title a:hover { color:var(--col-00); }
.entry-title a:focus { color:var(--col-01); }
.ast-blog-meta-container { font-size:0.8em; }
.posted-by:before { content:'Posted by '; } 
.posted-by:after { content:' on'; }
.posted-on { margin-left:-0.5em; }
.entry-meta { color:var(--col-01); }
.entry-meta, .entry-meta * { line-height:1.2; font-weight: 400; }
.entry-meta a { color:inherit !important; transition:all .3s; }
.entry-meta a:not(.ast-button):hover { color:var(--col-00) !important; }
.entry-meta a:not(.ast-button):focus { color:var(--col-01) !important; }
.post-content > .read-more { margin:20px 0 0; }
.ast-article-post { margin-bottom:20px !important; }

/* Pagination */

.ast-pagination, .post-navigation { padding:20px 0; border-radius:5px; background-color:var(--col-04); }
.post-navigation a { font-size:0.9em; }
.single .post-navigation { padding:20px !important; margin-top:20px !important; }
.single .post-navigation a .ast-post-nav { text-transform:inherit; font-size:inherit; letter-spacing:0; }

.ast-pagination .page-numbers { font-weight:600; }
.ast-pagination a, .nav-links a { color:var(--col-02); }
/* .page-numbers { color:var(--col-02) !important; } */
.post-page-numbers.current .page-link, .ast-pagination .page-numbers.current { color:var(--col-04); }
.nav-links { padding:0 !important; }

.ast-left-arrow, .ast-right-arrow, .single .post-navigation a .ast-post-nav span { display:none; }
.post-navigation .nav-previous::after { display:none; }
.prev.page-numbers:before, .next.page-numbers:after, .nav-previous a > span:before, .nav-next a > span:after { font:var(--fa-font-solid); vertical-align:-0.05em; }
.prev.page-numbers:before, .nav-previous a > span:before { padding-right:0.1em; content:'\f053'; }
.next.page-numbers:after, .nav-next a > span:after { padding-left:0.1em; content:'\f054'; }
.nav-links a > p { font-family:'athelas', serif; letter-spacing:-0.02em; }

/** BUTTONS **/

.elementor-widget-button .elementor-button, .elementor-widget-button .elementor-button:visited { color:var(--col-04); } /* HACK */

a.elementor-button { padding:15px 20px !important; font-size:1.2em !important; }

.more-button a { width:100%; padding:10px 15px !important; font-size:1em !important; border-radius:0 !important; }
.more-button .elementor-button-content-wrapper { justify-content:right; }


/** RECENT POSTS WITH THUMBNAIL Plug-in **/

.rpwwt-widget ul { margin:0; padding:20px; list-style:none; }
.rpwwt-widget li { margin-bottom:5px !important; }
.rpwwt-widget li > a { display:block; color:var(--col-02); text-decoration:none !important; }
.rpwwt-widget li > a:hover, .rpwwt-widget li > a:focus { color:var(--col-01); }
.rpwwt-post-title { font-family:'athelas'; font-weight:700; font-size:1.4em; letter-spacing:-0.02em; font-feature-settings:'lnum'; line-height:1.1; text-wrap:balance; }
.rpwwt-post-excerpt { margin-top:10px; font-weight:300; text-wrap:pretty; }

/*
.rpwwt-widget img { 
	width:340px;
	height:170px;
	object-fit:cover;
}

.rpwwt-post-title { 
	position:absolute;
	top:0;
	left:0;
	margin:20px 20px;
	padding:55px 20px;
	background-color:#0003;
	color:#fff;
	text-align:center;
}
*/


/** FORMS **/

input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="reset"], input[type="tel"], input[type="date"], select { height:auto; padding:10px !important; font-size:1em; border-radius:5px; border-color:var(--col-09); }
textarea { border-radius:5px; border-color:var(--col-09); padding:10px !important; color:var(--col-03); }

.wpcf7 input.wpcf7-form-control:not([type="submit"]):focus, .wpcf7 select.wpcf7-form-control:focus, .wpcf7 textarea.wpcf7-form-control:focus { border:1px solid var(--col-01); }

.wpcf7 label .wpcf7-form-control-wrap { margin-top:5px; }
.bot-check { background-color:var(--col-05); padding:10px; border:1px solid var(--col-09); border-radius:5px; text-align:center; }
.bot-check p { margin-bottom:5px !important; }
.wpcf7-submit { min-width:300px; padding:15px 20px !important; font-size:1.3em !important; transition:all .3s; }
.wpcf7-spinner { margin:0; top:3px; right:40px; background-color:transparent; border:1px solid #fff; }
.wpcf7-spinner::before { top:3px; left:3px; }

.wpcf7 form .wpcf7-response-output { margin:20px 0; padding:10px; border:none; border-radius:5px; font-weight:400; text-align:center; color:#fff; }
.wpcf7 form.invalid .wpcf7-response-output { background-color:#c00; }
.wpcf7 form.sent .wpcf7-response-output { background-color:#080; }
.wpcf7 .wpcf7-not-valid-tip { font-size:0.9em; font-weight:400; line-height:1; margin-top:5px; color:#c00; }

.form-button, .privacy-link { text-align:center; }
.form-button { margin-bottom:0 !important; padding-left:30px; }
.form-button p { margin-bottom:0.5em; }

.privacy-link { font-size:0.8em; }
.privacy-link p a { font-weight:600; text-decoration:none !important; }


/** 404 page **/

.widget_search .search-form .search-field { background-color:transparent; border-radius:5px; border:1px solid var(--col-09); }
.widget_search .search-form button { top:-6px; right:16px; }
.widget_search .search-form i { color:var(--col-02); }
.search-form input.search-field:focus { border-color:var(--col-01); }


/** RESPONSIVE CSS **/

@media (max-width:1300px) {
	.e-con-boxed.e-parent { padding-left:20px; padding-right:20px; }
}

@media (min-width:1201px) {
	.site-above-header-wrap, .site-primary-header-wrap, .site-below-header-wrap { width:95%; }
	.e-con-boxed.e-parent > .e-con-inner { width:95%; }
	.site-above-footer-inner-wrap, .site-primary-footer-inner-wrap, .site-below-footer-inner-wrap { width:95%; }
}

@media (max-width:1200px) {
	#ast-desktop-header { background-position:right 60px top; }
	/* .ast-main-header-wrap .ast-primary-header-bar { width:auto; } */
	.site-above-header-wrap, .site-primary-header-wrap, .site-below-header-wrap { width:auto; }
	.site-above-footer-inner-wrap, .site-primary-footer-inner-wrap, .site-below-footer-inner-wrap { width:auto; }
}

@media (min-width: 922px) {
	.site-logo-img { display:none; }
	.page #content .ast-container { max-width:none; padding:0; }
}

@media (max-width: 921px) {
	#masthead, .ast-mobile-header-content { position:relative !important; }
	.site-branding { text-align:center; }
	.ast-below-header-bar { background-color:var(--col-02) !important; }
	.site-primary-footer-wrap .ast-builder-grid-row { grid-template-columns:auto auto 100px !important; grid-gap:20px; }
	.site-footer-section { margin-bottom:0 !important; } /* Hack */
	.ast-author-bio, .ast-author-avatar { text-align:center; }
	.ast-author-avatar img { width:100px; height:100px; }
	.page #content .ast-container { padding:0; }
}

@media (max-width: 767px) {
	footer { font-size:0.88em; }
}

@media (max-width: 544px) {
	footer { font-size:1em; }
	.site-primary-footer-wrap .ast-builder-grid-row { grid-template-columns:1fr !important; }
	.site-footer-primary-section-2 .ast-header-html { text-align:center; }
	.site-footer-primary-section-2 .ast-builder-html-element { display:inline-block; }
	.site-footer-primary-section-2 ul { text-align:left; }
}