/*
Theme Name: Vote Danielle Ford Astra Child
Description: PHP restoration of the archived Vote Danielle Ford website.
Template: astra
Version: 1.1.10
Text Domain: danielle-ford
*/

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #444; background-color: #fff!important; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.35; }
body .site, body .site-content, body .ast-container, body #primary, body .content-area, body .entry-content { width: 100%; max-width: none; margin: 0; padding: 0; }
body .site { width: min(100% - 14px, 1440px); margin: 7px auto 0; background: #fff; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
.df-container { width: 80%; max-width: 1080px; margin: auto; }
.df-section { padding: 70px 0; }
.df-title { margin: 0 0 24px; color: #333; font-family: Ubuntu, Helvetica, Arial, sans-serif; font-size: 26px; font-weight: 400; line-height: 1.2; }
.df-button {  background: #fff;  }
.df-button:hover { background: #4aa3ff; color: #fff; }

.df-header { background: #fff; }
.df-header__inner { display: flex; width: 80%; max-width: 1080px; min-height: 250px; align-items: flex-start; justify-content: flex-start; margin: auto; padding: 115px 0 25px; }
.df-logo { display: block; text-decoration: none; }
.df-logo img { width: 225px; max-width: 100%; }
.df-logo__text { color: #393e56; font-family: Ubuntu, sans-serif; font-size: 32px; font-weight: 700; }
.df-blog-link { margin: 18px 0 0 auto; color: #444; font-size: 15px; text-decoration: none; }
.df-blog-link:hover { color: #2993f5; }

.df-hero { background: #fff; }
.df-hero__grid { display: grid; width: 80%; max-width: 1080px; grid-template-columns: 1fr 1fr; gap: 9%; align-items: center; margin: auto; padding: 45px 0 55px; }
.df-hero__copy { min-width: 0; }
.df-hero h1 { margin: 0; padding: 0; color: #444; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 28px; font-weight: 400; line-height: 1.15; }
.df-hero h2 { margin: 0; padding: 0 0 14px; color: #333; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.1; }
.df-hero p { margin: 0; padding: 0 0 20px; color: #555; font-size: 11px; line-height: 1.45; }
.df-hero__photo img { width: 100%; }
.df-social { display: none; }

.df-priorities { padding: 20px 0 105px; background: #fff; }
.df-priorities .df-container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8%; align-items: start; }
.df-priorities .df-title { margin: 0; color: #333; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 26px; font-weight: 400; text-align: left; }
.df-priority-grid { display: grid; grid-template-columns: 1fr; gap: 27px; }
.df-priority { display: block; max-width: 430px; color: #444; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 400; line-height: 1.1; }
.df-priority::before { content: none; }

.df-questions { padding: 30px 0 120px; background: #fff; }
.df-questions .df-title { margin-bottom: 52px; color: #444; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 24px; font-weight: 400; }
.df-accordion { display: grid; gap: 23px; }
.df-question { overflow: visible; border: 0; border-radius: 0; background: transparent; color: #555; }
.df-question summary { position: relative; padding: 0 0 8px; color: #444; cursor: default; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 1.3; list-style: none; }
.df-question summary::-webkit-details-marker { display: none; }
.df-question summary::after, .df-question[open] summary::after { content: none; }
.df-question__answer { padding: 0; color: #666;  line-height: 1.45; }
.df-question__answer p { margin: 0; padding: 0 0 7px; }
.df-question__answer p:last-child { padding-bottom: 0; }

.df-involved { padding: 20px 0 145px; background: #fff; color: #666; text-align: left; }
.df-involved .df-title { margin-bottom: 32px; color: #444; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 400; }
.df-involved p { max-width: none; margin: 0; line-height: 1.5; }
.df-involved .df-button { display: none; }

.df-election { display: flex; width: 80%; max-width: 1080px; flex-direction: column; align-items: stretch; margin: auto; padding: 40px 0 60px; background: #fff; }
.df-election::before { content: none; }
.df-election__image { order: 2; padding: 28px 5px 36px; border-bottom: 1px solid #bbb; }
.df-election__image img { width: 100%; }
.df-election__copy { order: 1; color: #444; font-size: 16px; line-height: 1.35; }
.df-election__copy h2 { margin: 0 0 24px; color: #444; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 1.3; }
.df-election__copy p { margin: 0 0 16px; }

.df-about { padding: 100px 0 150px; background: #fff; }
.df-about .df-title::before, .df-contact .df-title::before { content: none; }
.df-about .df-title { margin-bottom: 55px; font-family: "Source Sans 3", Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 400; }
.df-about__grid { display: grid; grid-template-columns: 1.65fr .75fr; gap: 7%; align-items: start; }
.df-about__copy { color: #666; line-height: 1.5; }
.df-about__copy p { margin: 0; padding: 0 0 14px; }
.df-podcast { color: #333; font-weight: 700; text-align: center; text-decoration: none; }
.df-podcast { font-size: 0; }
.df-podcast img { width: 100%; margin: 0; }

.df-contact { padding: 80px 0 170px; background: #fff; color: #555; }
.df-contact .df-title { display: none; }
.df-form { display: block; max-width: 1080px; margin: auto; }
.df-form label { display: block; width: 245px; margin-bottom: 4px; color: #777; white-space: nowrap; }
.df-form input, .df-form textarea { display: inline-block; width: 155px; height: 22px; margin-left: 4px; border: 1px solid #bbb; border-radius: 0; background: #fff; color: #666; font-family: Arial, sans-serif; font-size: 9px; padding: 3px; vertical-align: middle; }
.df-form textarea { height: 42px; min-height: 0; resize: none; vertical-align: top; }
.df-form .df-button {  border: 1px solid #222; color: #111; }
.df-notice { padding: 12px; border: 1px solid #fff; color: #fff; font-size: 16px; text-align: center; }
.df-footer { padding: 35px 0 45px; background: #fff; color: #555; text-align: center; }
.df-footer .df-container { width: 80%; max-width: 1080px; }
.df-footer p { margin: 0; }
.df-footer-menu { margin-bottom: 18px; }
.df-footer-menu ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; margin: 0; padding: 0; list-style: none; }
.df-footer-menu a { color: #444; font-size: 11px; text-decoration: none; }
.df-footer-menu a:hover { color: #2993f5; }

.df-blog, .df-single { min-height: 55vh; padding: 70px 0 120px; background: #fff; }
.df-blog__title, .df-single-post__title { margin: 0 0 50px; color: #444; font-size: 28px; font-weight: 400; line-height: 1.2; }
.df-post-list { display: grid; gap: 65px; }
.df-post-card { display: grid; grid-template-columns: minmax(220px, .8fr) 1.2fr; gap: 7%; align-items: start; }
.df-post-card:not(:last-child) { padding-bottom: 65px; border-bottom: 1px solid #ddd; }
.df-post-card__image img, .df-single-post__image img { width: 100%; height: auto; }
.df-post-card h2 { margin: 5px 0 14px; color: #444; font-size: 23px; font-weight: 400; line-height: 1.25; }
.df-post-card h2 a, .df-read-more { text-decoration: none; }
.df-post-card__excerpt, .df-single-post__content { color: #666; font-size: 13px; line-height: 1.6; }
.df-post-card__excerpt p { margin-top: 0; }
.df-post-meta { margin: 0 0 8px; color: #888; font-size: 10px; text-transform: uppercase; }
.df-read-more { color: #2993f5; font-size: 12px; }
.df-single-post { max-width: 850px; margin: auto; }
.df-single-post__title { margin-bottom: 35px; }
.df-single-post__image { margin-bottom: 40px; }
.df-single-post__content { font-size: 15px; }
.df-single-post__content img { height: auto; }
.df-post-navigation { display: flex; max-width: 850px; justify-content: space-between; gap: 30px; margin: 70px auto 0; padding-top: 25px; border-top: 1px solid #ddd; font-size: 12px; }
.df-post-navigation a { color: #2993f5; text-decoration: none; }
.navigation.pagination { margin-top: 60px; }
.nav-links { display: flex; gap: 10px; }
.nav-links a, .nav-links .current { padding: 5px 9px; border: 1px solid #ccc; text-decoration: none; }

@media (max-width: 980px) {
    .df-header__inner { min-height: 170px; }
    .df-hero__grid, .df-election, .df-about__grid { grid-template-columns: 1fr; }
    .df-hero__grid, .df-election { gap: 30px; padding: 30px 0; }
    .df-hero h1 { font-size: 48px; }
    .df-hero__photo, .df-election__image { order: initial; }
    .df-election__copy { order: initial; }
    .df-priority-grid { grid-template-columns: 1fr; }
    .df-priorities .df-title, .df-questions .df-title { font-size: 28px; }
    .df-question summary, .df-question__answer { font-size: 15px; }
    .df-involved { padding: 54px 0; }
    .df-about__grid { gap: 45px; }
    .df-podcast { max-width: 540px; }
    .df-post-card { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 767px) {
    .df-header__inner, .df-container, .df-hero__grid, .df-election { width: 90%; }
    .df-header__inner { min-height: 145px; }
    .df-logo img { width: 230px; }
    .df-hero h1 { font-size: 40px; }
    .df-hero h2 { font-size: 22px; }
    .df-priorities .df-title, .df-questions .df-title { font-size: 20px; }
    .df-priority { font-size: 17px; }
    .df-question summary, .df-question__answer { font-size: 14px; }
    .df-involved .df-title, .df-election__copy h2 { font-size: 24px; }
    .df-about .df-title, .df-contact .df-title { font-size: 28px; }
    .df-button { padding-right: 34px; padding-left: 34px; }
}
