/* Powerful Partnerships: responsive extension (21 October 2026)
   Loaded after the original 2013 stylesheet. Existing desktop layout is preserved.
   Targets: tablet, mobile navigation, forms, galleries, videos, embedded media.
*/
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 0; overflow-wrap: break-word; }
img, svg, video { max-width: 100%; height: auto; }
iframe, object, embed { max-width: 100%; }
img { vertical-align: middle; }
#pop_video iframe { display: block; width: 100%; border: 0; }
#pop_video img { display: block; max-width: 100%; height: auto; }
input, select, textarea, button { max-width: 100%; }
input[type="image"] { height: auto; }
.entry-content, .blog-post-content, .terms-body { overflow-wrap: anywhere; }
:focus-visible { outline: 2px solid #08609c; outline-offset: 3px; }
.pp-menu-toggle, .nav .pp-submenu-toggle { display: none; }

/* Original hero uses a jQuery Cycle slider. Images must never expand a mobile viewport. */
#hm_slide > div > img,
#hm_slide > div > a > img { display: block; width: 100%; height: auto; }
#hm_slide > div { max-width: 100%; }
#hm_slide { max-width: 100%; }
.header-new { max-width: 100%; }
.index-bottom-left-body img, .slide-left-video img { max-width: 100%; height: auto; }
#cboxLoadedContent iframe { max-width: 100%; }

@media (max-width: 1023px) {
  *, *::before, *::after { box-sizing: border-box; }
  #hm_slide.pp-mobile-slider > div { display: none !important; position: static !important; width: 100% !important; height: auto !important; opacity: 1 !important; }
  #hm_slide.pp-mobile-slider > div.pp-current { display: block !important; }
  #hm_slide.pp-mobile-slider { position: relative; width: 100%; height: auto !important; overflow: hidden; }
  .wrap { width: calc(100% - 40px); max-width: 960px; margin-left: auto; margin-right: auto; }
  .top, .navigation, .nav, .menu, .title, .block-body, .main-body,
  .slide-body, .slide-block, .index-bottom-body, .bottom, .footer,
  .slide-title, .expertise-speaking-body, .video-music-body, .terms-body {
    width: 100%; max-width: 100%; box-sizing: border-box;
  }
  .top { display: flex; float: none; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0; }
  .top h1 { flex: 0 1 350px; min-width: 0; float: none; }
  .top h1 img { width: 100%; height: auto; }
  .top-mid { float: none; padding: 0; width: auto; flex: 1 1 190px; min-width: 0; }
  .top-right { float: none; flex: 0 1 240px; width: auto; margin: 0; }
  .navigation { height: auto; min-height: 34px; display: flex; align-items: center; gap: 12px; float: none; }
  .nav { float: none; flex: 1 1 auto; min-width: 0; }
  .nav > ul { width: 100%; display: flex; flex-wrap: wrap; gap: 0 14px; }
  .nav > ul > li { float: none; display: block; padding-left: 0; white-space: normal; }
  .nav ul li ul { margin-left: 0; }
  .social-icon { float: none; flex: 0 0 auto; padding: 0; margin-left: auto; }
  .social-icon img { margin-left: 7px; }
  .menu { padding: 0; float: none; }
  .menu ul { display: flex; flex-wrap: wrap; column-gap: 10px; }
  .menu li, .menu li.first { padding-left: 10px; }
  .title, .block-body, .main-body, .slide-body, .slide-block, .index-bottom-body, .bottom, .footer, .slide-title, .terms-body { float: none; }
  .block-body { display: flow-root; padding: 28px 0 32px; }
  .slide-body, .index-bottom-body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .slide-body { padding: 18px 0; }
  .index-bottom-body { padding: 25px 0 45px; }
  .slide-left, .index-bottom-left { width: 100%; min-width: 0; margin: 0; float: none; }
  .slide-left-title, .slide-left-video, .slide-left-bottom,
  .index-bottom-left-title, .index-bottom-left-body, .index-bottom-left-bottom { width: 100%; float: none; }
  .slide-left-title { padding: 12px 8px; height: auto; min-height: 48px; }
  .slide-left-title h4 { font-size: 19px; line-height: 1.2; }
  .slide-left-video { margin-top: 6px; }
  .slide-left-video img { width: 100%; }
  .index-bottom-left-body { height: auto; min-height: 160px; padding: 14px; }
  .index-bottom-left-body table, .index-bottom-left-body table tbody,
  .index-bottom-left-body table tr { width: 100%; }
  .index-bottom-left-body h3 { font-size: 14px; line-height: 1.4; }
  .index-bottom-left-title h3, .index-bottom-left-title h3 a { font-size: 18px; line-height: 1.35; }
  .bottom { padding: 14px 0; }
  .footer { padding: 20px 0; }
  .header-new { width: calc(100% - 165px); height: auto; aspect-ratio: auto; }
  .header-title { width: 100%; padding: 10px 15px; font-size: 18px; line-height: 1.3; }
  .number-bullet { left: 35% !important; }
  .right { float: right; max-width: 150px; }
  .core-values-left, .core-values-right { width: 49%; }
  .meet-jim-left { width: 32%; }
  .meet-jim-left-body, .expertise-business-left { width: 100%; }
  .meet-jim-right { width: 64%; }
  .jims-book-right, .jims-book-right-body { width: 63%; }
  .rave-reviews-left { width: 23%; }
  .rave-reviews-mid { width: 5%; }
  .rave-reviews-right { width: 70%; }
  .video-music-body { background: none; }
  .video-music-left, .video-music-right { width: 48%; }
  .video-music-content { width: 100%; height: auto; min-height: 130px; }
  .video-music-content-left { width: 40%; }
  .video-music-content-right { width: 56%; }
  .news-events-left, .news-events-right { width: 48%; }
  .news-events-left-body, .news-post-body, .news-post-image { width: 100%; max-width: 100%; height: auto; }
  .news-post-title, .events-post-title { float: right; width: calc(100% - 85px); }
  .news-post-title h3, .events-post-title h3 { font-size: 21px; line-height: 1.3; }
  .blog-left { width: 70%; }
  .blog-left-block, .blog-left-body { width: calc(100% - 18px); }
  .blog-post-title { width: calc(100% - 82px); }
  .blog-post-content { width: 100%; }
  .blog-right, .blog-right-body { width: 27%; }
  .contact-left, .contact-right { width: 48%; }
  .slide-image-block { max-width: 100%; }
  .slide-arrow { max-width: 5%; }
  .expertise-slide-image, .expertise-modules-image { max-width: 100%; }
  .inputbox3, .inputbox4, .selectbox, .textarea { max-width: 100%; }
  .blog-post-image { max-width: 100%; }
  .hight, .hight2 { height: auto; min-height: 100px; }
}

@media (max-width: 767px) {
  .wrap { width: calc(100% - 32px); }
  #top-full { border-top-width: 5px; }
  .top { flex-direction: column; align-items: stretch; gap: 13px; padding: 16px 0; text-align: center; }
  .top h1 { flex: none; width: 100%; text-align: center; }
  .top h1 img { max-width: 350px; width: 100%; }
  .top-mid { flex: none; width: 100%; }
  .top-mid p, .top-mid p[align="right"] { font-size: 14px; line-height: 1.5; text-align: center; }
  .top-right { flex: none; width: 100%; padding: 10px 12px; }
  .top-right p { font-size: 14px; }
  .navigation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; min-height: 48px; padding: 4px 0; }
  .pp-menu-toggle { display: inline-flex; align-items: center; gap: 10px; border: 1px solid #c6d0dc; background: #fff; color: #083765; border-radius: 4px; font: 700 15px/1.2 Arial, sans-serif; padding: 10px 12px; cursor: pointer; min-height: 40px; }
  .pp-menu-icon { display: flex; flex-direction: column; gap: 4px; width: 20px; }
  .pp-menu-icon span { display: block; width: 20px; height: 2px; background: #083765; }
  .pp-menu-toggle:focus-visible { outline: 2px solid #005ea6; }
  .social-icon { margin-left: auto; display: flex; align-items: center; }
  .social-icon img { max-width: 17px; height: auto; margin-left: 7px; }
  .navigation .nav { display: none; order: 3; flex: 0 0 100%; width: 100%; padding-top: 5px; }
  .navigation.pp-menu-open .nav { display: block; }
  .nav > ul { display: block; width: 100%; border-top: 1px solid #d8e0e6; }
  .nav ul li, .nav > ul > li { display: block; float: none; width: 100%; padding: 0; line-height: 1.4; border-bottom: 1px solid #d8e0e6; }
  .nav > ul > li { position: relative; }
  .nav ul li a { display: block; width: auto; float: none; padding: 12px 44px 12px 10px; min-height: 42px; font-size: 15px; }
  .nav ul li ul { display: none !important; position: static !important; visibility: visible !important; top: auto !important; left: auto !important; width: 100% !important; height: auto !important; margin: 0; border: 0; background: #e8edf3; float: none; padding: 0; }
  .nav ul li.pp-submenu-open > ul { display: block !important; }
  .nav ul li ul li { float: none; width: 100%; margin: 0; padding: 0; background: none; }
  .nav ul li ul li a { float: none; width: auto; padding-left: 24px; padding-right: 44px; font-size: 14px; }
  .nav .pp-submenu-toggle { display: flex; justify-content: center; align-items: center; position: absolute; top: 0; right: 0; width: 42px; height: 42px; border: 0; border-left: 1px solid #d8e0e6; border-radius: 0; background: transparent; color: #083765; cursor: pointer; font-size: 22px; line-height: 1; }
  .nav .pp-submenu-toggle[aria-expanded="true"] { background: #dce7f1; }
  #menu-full .menu { padding: 8px 0; }
  #menu-full .menu ul { display: flex; flex-wrap: wrap; row-gap: 4px; }
  #menu-full .menu li { background: none; border-right: 1px solid #d1d1d1; line-height: 1.5; padding: 2px 10px; }
  .block-body { padding: 20px 0 26px; }
  .title h2, .jims-book-right h3, .meet-jim-right h3, .terms-body h2, .contact-right h2, .news-events-left h2, .news-events-right h2, .video-music-left h2, .video-music-right h2 { font-size: 25px; line-height: 1.25; }
  .title h2 span { display: block; padding: 0; font-size: 18px; }
  .title h3, .core-values-right h3 { font-size: 20px; line-height: 1.35; }
  .slide-body, .index-bottom-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .slide-left, .index-bottom-left { margin: 0; }
  .slide-left-title { min-height: 0; padding: 12px; }
  .slide-left-title h4 { font-size: 21px; }
  .slide-left-video img { height: auto; }
  .slide-left-bottom p, .index-bottom-left-bottom p { font-size: 14px; padding-top: 4px; }
  .index-bottom-left-title { padding-bottom: 8px; }
  .index-bottom-left-title h3, .index-bottom-left-title h3 a { font-size: 20px; }
  .index-bottom-left-body { min-height: 0; }
  .index-bottom-left-body p, .index-bottom-left-body h3 { font-size: 15px; line-height: 1.45; }
  .index-bottom-left-body table { table-layout: auto; }
  .index-bottom-left-body table td { padding: 4px; }
  .index-bottom-left-body table td:first-child { max-width: 110px; }
  .index-bottom-left-body img { max-height: 140px; }
  .header-new { float: none; width: 100%; height: auto; aspect-ratio: auto; border-width: 2px; }
  .header-title { position: static; width: 100%; padding: 8px; font-size: 16px; line-height: 1.3; }
  .block-body > .right, #mc-embedded-subscribe-form .right { float: none; width: 100%; max-width: none; height: auto !important; margin-top: 15px; padding: 18px; }
  #mc-embedded-subscribe-form .right p { font-size: 16px; line-height: 1.4; }
  #mc-embedded-subscribe-form .right .inputbox { width: 100%; height: 38px; font-size: 16px; padding: 7px 10px; background-color: white; }
  #mc-embedded-subscribe-form .right .prepand2[align="right"] { text-align: right; }
  #mc-embedded-subscribe-form { width: 100%; }
  .number-bullet { position: static !important; left: auto !important; width: 100%; float: none; display: flex; justify-content: center; margin-top: 12px; }
  .number-bullet ul { display: flex; justify-content: center; gap: 5px; }
  .number-bullet li { display: block; }
  .number-bullet li a { float: none; width: 12px; height: 12px; border-radius: 50%; margin: 0; }
  .core-values-left, .core-values-right, .meet-jim-left, .meet-jim-left-body, .meet-jim-right,
  .jims-book-right, .jims-book-right-body, .rave-reviews-left, .rave-reviews-mid, .rave-reviews-right,
  .video-music-left, .video-music-right, .video-music-content, .video-music-content-left, .video-music-content-right,
  .news-events-left, .news-events-right, .news-events-left-body, .news-post-body, .news-post-image,
  .blog-left, .blog-left-block, .blog-left-body, .blog-post-content, .blog-right, .blog-right-body,
  .contact-left, .contact-right, .left, .left-body, .left-video, .mid, .right,
  .expertise-business-left, .expertise-speaking-body, .terms-body, .blog-post-image {
    width: 100%; max-width: 100%; float: none; height: auto; box-sizing: border-box;
  }
  .core-values-left, .meet-jim-left, .rave-reviews-left, .contact-left, .video-music-left, .news-events-left, .blog-left { margin-bottom: 22px; }
  .core-values-right, .meet-jim-right { padding-top: 14px; }
  .left { padding-right: 0; }
  .left-video, .expertise-business-left { padding: 16px; }
  .expertise-business-left { margin-top: 15px; }
  .rave-reviews-mid { display: none; }
  .video-music-content { display: flow-root; padding: 12px 0; min-height: 0; }
  .video-music-content-left, .video-music-content-right { display: block; }
  .video-music-content-left { padding-bottom: 10px; }
  .video-music-body { background: none; }
  .news-post-title, .events-post-title { width: calc(100% - 86px); }
  .news-post-image { margin-top: 14px; }
  .blog-left { border-right: none; }
  .blog-left-block { padding: 18px 0; }
  .blog-post-title { width: calc(100% - 82px); }
  .blog-right { border-top: 1px solid #d8e0e6; }
  .blog-right-body { padding: 18px 0; }
  .contact-right { border-top: 1px solid #d8e0e6; padding-top: 18px; }
  .inputbox, .inputbox2, .inputbox3, .inputbox4, .selectbox, .textarea { max-width: 100%; box-sizing: border-box; }
  .inputbox3, .inputbox4, .selectbox, .textarea { width: 100%; }
  .contact-left input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]), .contact-left textarea, .contact-left select { width: 100%; max-width: 100%; }
  .button, .button2, .button3, .button4, .button5, .button6 { box-sizing: border-box; float: none; height: auto; min-height: 44px; padding: 12px; display: block; line-height: 1.35; }
  .slide-block { padding: 15px 0 28px; }
  .slide-arrow { display: none; }
  .slide-image-block { display: grid; width: 100% !important; max-width: 100%; grid-template-columns: 1fr; gap: 18px; float: none; }
  .slide-image, .expertise-slide-image, .expertise-modules-image { display: block; float: none; width: 100% !important; max-width: 100%; padding: 0; text-align: center; }
  .expertise-slide-image h3 { height: auto !important; padding-bottom: 8px; font-size: 18px; }
  .expertise-slide-image p { text-align: left; }
  .slide-image-block .caroufredsel_wrapper { width: 100% !important; max-width: 100%; height: auto !important; }
  .slide-image-block .caroufredsel_wrapper > div { position: static !important; }
  .footer table, .footer table tbody, .footer table tr, .footer table td { display: block; width: 100% !important; text-align: center; }
  .footer table td { padding: 4px 0; }
  .footer p { font-size: 12px; line-height: 1.5; }
  .bottom p { font-size: 14px; line-height: 1.5; }
  .slide-title span { font-size: 18px; }
  table { max-width: 100%; }
  .blog-post-content table { display: block; overflow-x: auto; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .slide-image-block { width: 100%; }
  .slide-arrow { display: none; }
  .slide-image-block { display: grid; grid-template-columns: repeat(2,minmax(0, 1fr)); gap: 18px; }
  .expertise-slide-image, .expertise-modules-image, .slide-image { float: none; width: 100%; padding-left: 0; }
  .slide-image-block .caroufredsel_wrapper { width: 100% !important; }
  .number-bullet { position: static !important; left: auto !important; margin: 6px auto; }
}

@media (max-width: 380px) {
  .wrap { width: calc(100% - 24px); }
  .top h1 img { max-width: 300px; }
  .social-icon img { margin-left: 5px; max-width: 15px; }
  .nav ul li a { font-size: 14px; }
}


/* Mobile follow-up fixes: blog, About values cards, newsletter and submenu state. */
@media (max-width: 1023px) {
  /* WYSIWYG cards have fixed content-box widths/heights in the legacy stylesheet. */
  .pp-core-benefits {
    display: flex; flex-wrap: wrap; align-items: stretch; gap: 18px;
    float: none; clear: both; width: 100%; max-width: 100%;
  }
  .pp-core-benefits .core-green-box,
  .pp-core-benefits .core-blue-box {
    flex: 1 1 calc(33.333% - 18px); min-width: 200px; max-width: 100%;
    float: none; position: relative; margin: 0 !important;
    width: auto; height: auto; min-height: 155px;
    padding: 22px 18px; box-sizing: border-box;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
  }
  .pp-core-benefits :is(.core-green-box, .core-blue-box) p {
    font-size: 18px; line-height: 1.4; text-align: center;
    padding: 0; margin: 0; overflow-wrap: normal;
  }
  .blog-left-block, .blog-left-body { max-width: 100%; }
  .blog-post-content iframe, .blog-post-content audio,
  .blog-post-content .mejs-container, .blog-post-content .powerpress_player,
  .blog-post-content .powerpress_links { max-width: 100% !important; }
  .blog-post-content .mejs-container { width: 100% !important; }
}
@media (max-width: 767px) {
  /* Full-width wrapper forced a small portrait thumbnail into a blank grey, bordered panel. */
  .blog-left .blog-left-block, .blog-left .blog-left-body,
  .blog-left .blog-post-title, .blog-left .blog-post-content {
    float: none; width: 100% !important; max-width: 100%; box-sizing: border-box;
  }
  .blog-left .blog-left-block { display: flow-root; padding: 22px 0; }
  .blog-left .blog-left-body { margin-bottom: 12px; }
  .blog-left .blog-post-title h3 { font-size: 24px; line-height: 1.3; overflow-wrap: anywhere; }
  .blog-left .blog-post-title p { font-size: 13px; line-height: 1.5; margin-top: 4px; }
  .blog-left .blog-post-image {
    display: table; float: none; width: auto !important; height: auto;
    max-width: 100%; margin: 12px 0 18px; padding: 0;
    border: 0; background: none; box-sizing: border-box;
  }
  .blog-left .blog-post-image a, .blog-left .blog-post-image img {
    display: block; max-width: 100%; height: auto; border: 0;
  }
  .blog-left .blog-post-content { clear: both; }
  .blog-left .blog-post-content p {
    text-align: left; font-size: 15px; line-height: 1.6; overflow-wrap: break-word;
  }
  .blog-left .blog-post-content .font5 { margin-top: 6px; }
  .blog-left .blog-post-content .mejs-container,
  .blog-left .blog-post-content .powerpress_player { margin-bottom: 12px; }
  /* Core Purpose and Values: one card per row; content no longer clipped. */
  .pp-core-benefits { display: flex; flex-direction: column; gap: 14px; }
  .pp-core-benefits .core-blue-box,
  .pp-core-benefits .core-green-box {
    flex: 0 1 auto; width: 100%; max-width: 100%; min-width: 0;
    min-height: 0; height: auto; padding: 22px 20px; margin: 0 !important;
  }
  .pp-core-benefits :is(.core-blue-box, .core-green-box) p {
    font-size: 17px; line-height: 1.45;
  }
  /* Newsletter form previously allocated 33%+ of the table to empty spacer cells. */
  #mc-embedded-subscribe-form-2 { width: 100%; max-width: 500px; margin: 10px auto 0; }
  #mc-embedded-subscribe-form-2 table,
  #mc-embedded-subscribe-form-2 tbody,
  #mc-embedded-subscribe-form-2 tr { display: block; width: 100%; }
  #mc-embedded-subscribe-form-2 tr { display: flex; flex-direction: column; gap: 9px; align-items: stretch; }
  #mc-embedded-subscribe-form-2 td { display: block; width: 100% !important; padding: 0; }
  #mc-embedded-subscribe-form-2 td:first-child { display: none; }
  #mc-embedded-subscribe-form-2 .inputbox2 {
    display: block; width: 100%; max-width: 100%; min-height: 42px; height: auto;
    padding: 9px 12px; font-size: 16px; line-height: 22px; box-sizing: border-box;
  }
  #mc-embedded-subscribe-form-2 td:last-child { text-align: center; padding-top: 4px; }
  #mc-embedded-subscribe-form-2 input[type="image"] {
    display: inline-block; vertical-align: middle; min-height: 30px; width: auto; cursor: pointer;
  }
  #bottom-full .bottom { padding: 20px 0 24px; }
  #bottom-full .bottom > p { font-size: 15px; line-height: 1.5; }
  /* Submenu disclosure remains tappable regardless of current page / WP active classes. */
  .navigation.pp-menu-open .nav li > .pp-submenu-toggle { z-index: 4; }
  .navigation.pp-menu-open .nav li.pp-submenu-open > ul {
    display: block !important; visibility: visible !important; opacity: 1 !important;
    overflow: visible !important; height: auto !important;
  }
}
