/* ── Google Fonts import ── */
@import url('https://fonts.googleapis.com/css?family=Raleway:400,700|Open+Sans:300italic,400,400italic,600,600italic,700|Roboto:300,400,400italic,500,500italic,700,900');

/* ============================================================
   1. RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 62.5%; }

body {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  color: #444;
  background-color: #cbd7db;
}

a { color: #399998; text-decoration: none; transition: color .18s; }
a:hover { color: #2b7a79; }
img { max-width: 100%; height: auto; display: block; }
p { margin: 0 0 1.5rem; }
ul { margin: 0; padding: 0; }
h1,h2,h3,h4,h5,h6 {
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 1rem;
}

/* Screen-reader / accessibility */
.td-visual-hidden,
.screen-reader-text {
  clip: rect(1px,1px,1px,1px);
  position: absolute;
  overflow: hidden;
  height: 1px; width: 1px;
}

/* ============================================================
   2. BOXED LAYOUT WRAPPER
   ============================================================ */
#td-outer-wrap,
.td-theme-wrap {
  max-width: 1140px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 0 40px rgba(0,0,0,.18);
  position: relative;
}

/* Full-width container strips inside the boxed wrap */
.td-container-wrap { width: 100%; }

.td-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 15px;
}

/* tagDiv row/span grid */
.td-pb-row { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.td-pb-row::after { content: ''; display: table; clear: both; }

[class*="td-pb-span"] { padding: 0 10px; }
.td-pb-span1  { width: 8.333%; }
.td-pb-span2  { width: 16.666%; }
.td-pb-span3  { width: 25%; }
.td-pb-span4  { width: 33.333%; }
.td-pb-span5  { width: 41.666%; }
.td-pb-span6  { width: 50%; }
.td-pb-span7  { width: 58.333%; }
.td-pb-span8  { width: 66.666%; }
.td-pb-span9  { width: 75%; }
.td-pb-span10 { width: 83.333%; }
.td-pb-span11 { width: 91.666%; }
.td-pb-span12 { width: 100%; }

/* block rows inside article list */
.td-block-row {
  display: flex; flex-wrap: wrap;
  margin: 0 -8px;
}
.td-block-row::after { content: ''; display: table; clear: both; }
.td-block-span6 {
  width: 50%;
  padding: 0 8px;
}
.clearfix::after { content: ''; display: table; clear: both; }

/* ============================================================
   3. SCROLL-UP BUTTON
   ============================================================ */
.td-scroll-up {
  position: fixed;
  bottom: 3rem; right: 2.5rem;
  z-index: 500;
  width: 3.6rem; height: 3.6rem;
  background: #399998;
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  cursor: pointer;
  opacity: 0;
  transition: opacity .25s;
}
.td-scroll-up:hover { background: #2b7a79; }
.td-scroll-up.td-is-visible { opacity: 1; }

/* ============================================================
   4. MOBILE NAV OVERLAY
   ============================================================ */
#td-mobile-nav {
  position: fixed;
  top: 0; left: -32rem;
  width: 32rem; height: 100%;
  background: #fff;
  z-index: 9999;
  overflow-y: auto;
  transition: left .28s ease;
  box-shadow: 4px 0 20px rgba(0,0,0,.15);
}
#td-mobile-nav.td-is-open { left: 0; }

.td-mobile-container { padding: 0; }

.td-menu-socials-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 2rem;
  background: #399998;
}
.td-menu-socials .td-social-icon-wrap { margin-right: 1.2rem; display: inline-block; }
.td-menu-socials .td-icon-font { color: #fff; font-size: 1.6rem; }

.td-mobile-close a { color: #fff; font-size: 1.8rem; }

.td-mobile-content { padding: 0; }

.td-mobile-main-menu { list-style: none; }
.td-mobile-main-menu > li > a {
  display: block;
  padding: 1.3rem 2rem;
  font-family: 'Raleway', sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 1px solid #f0f0f0;
  text-decoration: none;
  transition: color .18s, background .18s;
}
.td-mobile-main-menu > li > a:hover,
.td-mobile-content .current-menu-item > a { color: #399998; }

.td-mobile-main-menu .sub-menu { list-style: none; background: #f8f8f8; }
.td-mobile-main-menu .sub-menu a {
  display: block;
  padding: 1rem 3rem;
  font-family: 'Raleway', sans-serif;
  font-size: 1.25rem;
  color: #666;
  border-bottom: 1px solid #ebebeb;
  text-decoration: none;
}
.td-mobile-main-menu .sub-menu a:hover { color: #399998; }

.td-icon-menu-right { float: right; color: #bbb; }

/* Search overlay */
.td-menu-background,
.td-search-background {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,.9);
  z-index: 8000;
}
.td-menu-background.td-is-open,
.td-search-background.td-is-open { display: block; }

.td-search-wrap-mob {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 8500;
  background: #fff;
  padding: 2rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
}
.td-search-wrap-mob.td-is-open { display: block; }

.td-search-close { text-align: right; margin-bottom: 1rem; }
.td-search-close a { color: #333; font-size: 2rem; }

.td-search-input {
  display: flex; align-items: center; gap: 1rem;
  font-size: 1.6rem; color: #333;
  border-bottom: 2px solid #399998;
  padding-bottom: .8rem;
}
.td-search-input span { color: #999; font-size: 1.3rem; }
.td-search-input input {
  flex: 1; border: none; outline: none;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.5rem; color: #333;
  background: transparent;
}

/* ============================================================
   5. HEADER – style 10
   ============================================================ */
.td-header-wrap { background: #fff; }

/* ── 5a. Top bar ── */
.td-header-top-menu-full {
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}

.td-header-row { display: flex; align-items: center; }

.top-bar-style-1 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .7rem 0;
  min-height: 4rem;
}

.td-header-top-menu { display: flex; }
.td-header-top-menu li { list-style: none; }
.td-header-top-menu li a {
  font-size: 1.2rem; color: #111;
  padding: 0 1.2rem;
  display: block;
  transition: color .18s;
}
.td-header-top-menu li a:hover,
.td-header-top-menu .current-menu-item > a { color: #399998; }

.td-header-sp-top-widget {
  display: flex; align-items: center; gap: 1.2rem;
}
.td-header-sp-top-widget .td-social-icon-wrap { display: inline-block; }
.td-header-sp-top-widget .td-icon-font {
  color: #111; font-size: 1.5rem;
  transition: color .18s; cursor: pointer;
}
.td-header-sp-top-widget .td-icon-font:hover { color: #399998; }

/* ── 5b. Logo band ── */
.td-banner-wrap-full.td-logo-wrap-full {
  background: #399998;
  padding: 2.5rem 0;
}

.td-header-sp-logo { text-align: center; }
.td-header-sp-logo .td-logo a { display: inline-block; }
.td-header-sp-logo .td-logo img { max-height: 7rem; width: auto; }
.td-header-sp-logo .td-logo { margin: 0; }

/* ── 5c. Nav menu bar ── */
.td-header-menu-wrap-full {
  background: #fff;
  border-bottom: 3px solid #399998;
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.td-header-menu-wrap { background: #fff; }
.td-header-gradient { background: #fff; }

#td-header-menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

/* In-header logo (shown on sticky) */
.td-main-menu-logo.td-logo-in-header { display: none; }

/* Mobile toggle */
#td-top-mobile-toggle {
  display: none;
  padding: 1.5rem;
  cursor: pointer;
}
#td-top-mobile-toggle .td-icon-font { font-size: 2rem; color: #333; }

/* ── sf-menu ── */
.sf-menu {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0; padding: 0;
}

.sf-menu > .td-menu-item > a {
  display: flex;
  align-items: center;
  padding: 1.5rem 1.6rem;
  font-family: 'Raleway', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #111;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  position: relative;
  transition: color .18s;
  white-space: nowrap;
}

.sf-menu > .td-menu-item > a:after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: #399998;
  transform: scaleX(0);
  transition: transform .2s;
}
.sf-menu > .td-menu-item > a:hover,
.sf-menu > .current-menu-item > a,
.sf-menu > .sfHover > a { color: #399998; }
.sf-menu > .td-menu-item > a:hover:after,
.sf-menu > .current-menu-item > a:after,
.sf-menu > .sfHover > a:after { transform: scaleX(1); }

/* Sub-menu */
.sf-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%; left: 0;
  min-width: 22rem;
  background: #399998;
  z-index: 300;
  padding: .5rem 0;
  box-shadow: 0 6px 20px rgba(0,0,0,.14);
  list-style: none;
}
.sf-menu .td-menu-item { position: relative; }
.sf-menu .td-menu-item:hover > .sub-menu { display: block; }

.sf-menu .sub-menu .td-menu-item > a {
  display: block;
  padding: 1rem 1.8rem;
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s;
}
.sf-menu .sub-menu .td-menu-item > a:hover {
  background: rgba(0,0,0,.12);
  color: #fff;
}

/* Search in header */
.td-search-wrapper { padding: 0 1.5rem; }
#td-top-search { display: flex; align-items: center; }
.td-icon-search {
  font-size: 1.8rem; color: #333; cursor: pointer;
  transition: color .18s;
}
.td-icon-search:hover { color: #399998; }

.header-search-wrap .td-drop-down-search {
  display: none;
  position: absolute;
  right: 0; top: 100%;
  width: 30rem;
  background: #399998;
  padding: 1.5rem;
  z-index: 400;
  box-shadow: 0 6px 20px rgba(0,0,0,.14);
}
.header-search-wrap .td-drop-down-search::before {
  content: '';
  position: absolute;
  top: -8px; right: 2rem;
  border: 8px solid transparent;
  border-top: none;
  border-bottom-color: #399998;
}
.header-search-wrap.open .td-drop-down-search { display: block; }

.td-search-form { display: flex; }
.td-head-form-search-wrap {
  display: flex; width: 100%;
}
.td-head-form-search-wrap input[type="text"] {
  flex: 1;
  padding: .8rem 1.2rem;
  border: none; outline: none;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.35rem; color: #333;
  background: #fff;
}
.td-head-form-search-wrap input[type="submit"],
input[type="submit"] {
  padding: .8rem 1.6rem;
  background: #2b7a79;
  border: none; color: #fff;
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s;
}
input[type="submit"]:hover { background: #1e5f5e; }

/* Banner row (ad space below nav) */
.td-banner-wrap-full.td-banner-bg { min-height: 0; }

/* ============================================================
   6. MAIN CONTENT WRAP
   ============================================================ */
.td-main-content-wrap { background: #f5f5f5; }

/* ── 6a. Big Grid featured block ── */
.td-stretch-content { overflow: hidden; }

.td-big-grid-wrapper {
  display: flex;
  gap: 3px;
  background: #ddd;
}

/* Large featured post */
.td_module_mx9.td-big-thumb {
  flex: 0 0 60%;
  position: relative;
  overflow: hidden;
}
.td_module_mx9 .td-module-thumb { width: 100%; height: 100%; }
.td_module_mx9 .td-module-thumb a { display: block; height: 100%; }
.td_module_mx9 .entry-thumb {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.td_module_mx9:hover .entry-thumb { transform: scale(1.03); }

.td_module_mx9 .td-meta-info-container {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 2rem 2.5rem;
  background: linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 100%);
}
.td_module_mx9 .td-big-grid-meta .entry-title a {
  font-family: 'Raleway', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  line-height: 1.3;
  display: block;
  transition: color .18s;
}
.td_module_mx9:hover .entry-title a { color: #c5e8e8; }

.td-module-meta-info {
  margin-top: .6rem;
  font-size: 1.2rem; color: rgba(255,255,255,.75);
}
.td_module_mx9 .td-post-author-name a { color: rgba(255,255,255,.85); }
.td_module_mx9 .td-post-date { color: rgba(255,255,255,.65); }

/* Scrolling side posts */
.td-big-grid-scroll {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.td_module_mx10.td-small-thumb {
  flex: 1;
  position: relative;
  overflow: hidden;
  background: #222;
}
.td_module_mx10 .td-module-thumb { width: 100%; height: 100%; }
.td_module_mx10 .td-module-thumb a { display: block; height: 100%; }
.td_module_mx10 .entry-thumb {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  opacity: .75;
  transition: opacity .3s, transform .4s;
}
.td_module_mx10:hover .entry-thumb { opacity: .9; transform: scale(1.04); }

.td_module_mx10 .td-meta-info-container {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 1.2rem 1.5rem;
  background: linear-gradient(to top, rgba(0,0,0,.78) 0%, transparent 100%);
}
.td_module_mx10 .td-big-grid-meta .entry-title a {
  font-family: 'Raleway', sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  line-height: 1.3;
  display: block;
}
.td_module_mx10:hover .entry-title a { color: #c5e8e8; }

/* ============================================================
   7. ARTICLE LIST AREA
   ============================================================ */
.td-pb-article-list {
  padding: 2.5rem 0 4rem;
  background: #f5f5f5;
}

/* Main column */
.td-main-content { padding-right: 2rem; }

/* Block title */
.td-block-title-wrap { margin-bottom: 2rem; }

.td-block-title {
  border-bottom: 3px solid #399998;
  margin: 0;
}

.td-block-title > span,
.td-block-title > a {
  display: inline-block;
  background: #399998;
  color: #fff;
  font-family: 'Raleway', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .7rem 1.4rem;
  margin-bottom: -3px;
  text-decoration: none;
}

/* ── Article module (td_module_1) ── */
.td_module_wrap {
  margin-bottom: 2.5rem;
}

.td-module-image {
  position: relative;
  overflow: hidden;
  background: #e8e8e8;
  margin-bottom: 1rem;
}

.td-module-thumb { overflow: hidden; }
.td-module-thumb a { display: block; }
.td-module-thumb .entry-thumb {
  width: 100%;
  display: block;
  transition: transform .35s ease;
}
.td_module_wrap:hover .entry-thumb { transform: scale(1.05); }

/* Category label */
.td-post-category {
  position: absolute;
  bottom: 0; left: 0;
  display: inline-block;
  padding: .4rem 1rem;
  background: #399998;
  color: #fff;
  font-family: 'Raleway', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  z-index: 2;
  transition: background .18s;
}
.td-post-category:hover { background: #2b7a79; color: #fff; }

/* Article title */
.td-module-title {
  margin: 0 0 .7rem;
}
.td-module-title a {
  font-family: 'Raleway', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #222;
  line-height: 1.35;
  text-decoration: none;
  transition: color .18s;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.td_module_wrap:hover .entry-title a { color: #399998; }

/* Meta info row */
.td-module-meta-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
  font-size: 1.2rem;
  color: #999;
  position: relative;
  padding-right: 3.5rem;
}

.td-post-author-name a { color: #399998; font-weight: 600; }
.td-post-author-name a:hover { color: #2b7a79; }

.td-post-date { color: #bbb; font-size: 1.15rem; }

/* Comments bubble */
.td-module-comments a {
  position: absolute;
  right: 0; top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem; height: 2.2rem;
  background: #399998;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 2px;
}
.td-module-comments a::after {
  content: '';
  position: absolute;
  bottom: -5px; left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #399998;
  border-bottom: none;
}

/* ============================================================
   8. PAGINATION
   ============================================================ */
.page-nav {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
}
.page-nav a,
.page-nav span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.4rem; height: 3.4rem;
  padding: 0 .8rem;
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  border: 1px solid #e0e0e0;
  color: #444;
  text-decoration: none;
  transition: background .18s, color .18s, border-color .18s;
}
.page-nav a:hover,
.page-nav .current {
  background: #399998;
  border-color: #399998;
  color: #fff;
}
.page-nav .extend { border: none; color: #bbb; min-width: auto; }
.page-nav .pages {
  margin-left: auto;
  border: none;
  font-size: 1.2rem;
  color: #aaa;
  font-weight: 400;
}

/* ============================================================
   9. SIDEBAR
   ============================================================ */
.td-main-sidebar { padding-left: 1rem; }
.td-ss-main-sidebar aside { margin-bottom: 3rem; }

/* Widget block title */
.td_block_template_10 .td-block-title { border-bottom: 3px solid #399998; }
.td_block_template_10 .td-block-title > span {
  background: #399998;
  color: #fff;
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  display: inline-block;
  padding: .6rem 1.2rem;
  margin-bottom: -3px;
}

/* Widget: About text */
.widget.widget_text .textwidget {
  font-family: 'Raleway', sans-serif;
  font-size: 1.35rem;
  line-height: 1.75;
  font-weight: 700;
  color: #555;
  padding: 1.2rem 0 .5rem;
}

/* Widget: Recent comments */
.widget_recent_comments { }
#recentcomments { list-style: none; padding: 1rem 0; }
#recentcomments .recentcomments {
  padding: .8rem 0;
  font-size: 1.3rem;
  color: #777;
  border-bottom: 1px solid #f0f0f0;
  line-height: 1.5;
}
#recentcomments .recentcomments:last-child { border: none; }
#recentcomments .comment-author-link {
  font-weight: 700;
  color: #399998;
}
#recentcomments a { color: #444; }
#recentcomments a:hover { color: #399998; }

/* Widget: Tag cloud */
.widget_tag_cloud { }
.tagcloud { padding: 1rem 0; line-height: 2.2; }
.tag-cloud-link {
  display: inline-block;
  margin: .2rem .3rem;
  padding: .3rem .9rem;
  background: #f0f0f0;
  color: #555;
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
  font-size: 1.2rem !important; /* override WP inline size */
  text-decoration: none;
  border-radius: 2px;
  transition: background .18s, color .18s;
}
.tag-cloud-link:hover { background: #399998; color: #fff; }

/* Sidebar images */
.widget.widget_media_image img {
  width: 100%; height: auto;
  margin-bottom: .5rem;
}
.widget_custom_html img { width: 100%; }

/* ============================================================
   10. FOOTER
   ============================================================ */
.td-footer-wrapper {
  background: #f9f9f9;
  padding: 4rem 0 0;
  border-top: 3px solid #399998;
}

.td-footer-bottom-full .td-container::before {
  content: '';
  display: block;
  border-top: 1px solid rgba(0,0,0,.08);
  margin-bottom: 3rem;
}

/* Logo */
.footer-logo-wrap img { max-height: 6rem; width: auto; }

/* About text block */
.footer-text-wrap { font-size: 1.35rem; color: #444; line-height: 1.75; }
.footer-text-wrap .block-title { margin-bottom: 1.5rem; }
.footer-text-wrap .block-title > span {
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #399998;
  border-bottom: 2px solid #399998;
  padding-bottom: .5rem;
  display: inline-block;
}

.footer-email-wrap {
  margin-top: 1.5rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: #666;
}
.footer-email-wrap a { color: #399998; }
.footer-email-wrap a:hover { color: #2b7a79; }

/* Social icons */
.footer-social-wrap .block-title { margin-bottom: 1.5rem; }
.footer-social-wrap .block-title > span {
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #399998;
  border-bottom: 2px solid #399998;
  padding-bottom: .5rem;
  display: inline-block;
}
.footer-social-wrap .td-social-icon-wrap { display: inline-block; margin-right: 1.2rem; }
.footer-social-wrap .td-icon-font {
  font-size: 2.2rem;
  color: #555;
  transition: color .18s;
  cursor: pointer;
}
.footer-social-wrap .td-icon-font:hover { color: #399998; }

/* Sub-footer */
.td-sub-footer-container {
  background: #399998;
  padding: 1.5rem 0;
  margin-top: 3rem;
}

.td-sub-footer-menu { flex: 1; }
.td-subfooter-menu {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  list-style: none;
  margin: 0; padding: 0;
}
.td-subfooter-menu li a {
  font-family: 'Raleway', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 0 1.2rem;
  border-right: 1px solid rgba(255,255,255,.35);
  text-decoration: none;
  transition: color .18s;
}
.td-subfooter-menu li:last-child a { border-right: none; }
.td-subfooter-menu li a:hover { color: #eee22a; }

.td-sub-footer-copy {
  font-size: 1.2rem;
  color: rgba(255,255,255,.75);
  text-align: right;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* ============================================================
   11. POST / ARTICLE SINGLE PAGE
   ============================================================ */
.post .td-post-header .entry-title {
  font-family: 'Raleway', sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: #ed9c00;
  line-height: 1.25;
  margin-bottom: 2rem;
}

/* Blockquote */
.td-post-content blockquote,
.td-page-content blockquote {
  border-left: 4px solid #399998;
  margin: 2.5rem 0;
  padding: 1.5rem 2rem;
  background: #f5fbfb;
}
.td-post-content blockquote p,
.td-page-content blockquote p {
  font-size: 1.6rem;
  font-style: italic;
  color: #399998;
  margin: 0;
}

/* ============================================================
   12. GENERIC PAGE ELEMENTS
   ============================================================ */
.entry-title { font-family: 'Raleway', sans-serif; font-weight: 700; }

/* td-page-title */
.td-page-title {
  font-family: 'Raleway', sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: #222;
  margin-bottom: 2rem;
}

/* Recent comments widget links */
.recentcomments a { display: inline !important; padding: 0 !important; margin: 0 !important; }

/* Dropcap */
.dropcap {
  float: left;
  font-size: 5.5rem;
  line-height: .85;
  margin-right: .8rem;
  background: #399998;
  color: #fff;
  padding: .2rem .8rem .1rem;
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
}

/* ============================================================
   13. ICON FONT PLACEHOLDERS
      (icon font loaded from theme – define fallback sizing)
   ============================================================ */
[class*="td-icon-"],
.td-icon-font {
  display: inline-block;
  font-style: normal;
  speak: never;
}

/* ============================================================
   14. RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
  #td-outer-wrap, .td-theme-wrap { max-width: 100%; }
  .td-container { max-width: 100%; }
}

@media (max-width: 1018px) {
  .td-pb-span8 { width: 62%; }
  .td-pb-span4 { width: 38%; }

  .sf-menu > .td-menu-item > a { padding: 1.5rem 1.1rem; font-size: 1.15rem; }

  .td-header-sp-logo .td-logo img { max-height: 5.5rem; }
}

@media (max-width: 767px) {
  /* Hide desktop nav, show hamburger */
  .menu-hauptmenue-container,
  .td-search-wrapper { display: none; }
  #td-top-mobile-toggle { display: flex; }

  /* Stack grid columns */
  .td-pb-span8,
  .td-pb-span4,
  .td-pb-span3,
  .td-pb-span5 { width: 100%; }

  .td-pb-row { flex-direction: column; }

  .td-block-span6 { width: 100%; }
  .td-block-row { flex-direction: column; }

  .td-main-content { padding-right: 0; }
  .td-main-sidebar { padding-left: 0; margin-top: 3rem; }

  .td-big-grid-wrapper { flex-direction: column; }
  .td_module_mx9 { flex: none; }
  .td_module_mx9 .entry-thumb { height: 22rem; }
  .td_module_mx10 .entry-thumb { height: 16rem; }

  .td-header-sp-logo .td-logo img { max-height: 4.5rem; }

  .td-sub-footer-copy { justify-content: flex-start; margin-top: 1rem; }
  .td-pb-span.td-sub-footer-menu,
  .td-pb-span.td-sub-footer-copy { width: 100%; }
  .td-subfooter-menu { gap: .3rem; }
  .td-subfooter-menu li a { font-size: 1.05rem; padding: 0 .8rem; }

  .footer-logo-wrap { margin-bottom: 2rem; }
  .td-pb-span3 { width: 100%; }
  .td-pb-span5 { width: 100%; }
}

@media (max-width: 480px) {
  .td-pb-article-list { padding: 1.5rem 0 2rem; }
  .td-block-title > span { font-size: 1.15rem; padding: .6rem 1rem; }
  .td-module-title a { font-size: 1.4rem; }
  .page-nav a, .page-nav span { min-width: 3rem; height: 3rem; font-size: 1.1rem; }
}

/* ============================================================
   END OF STYLESHEET
   ============================================================ */