/*
 * ---:[ Focus CSS reset ]:---
 */
* {
  margin: 0;
  padding: 0; }

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  word-break: normal; }

img,
fieldset {
  border: 0; }

abbr,
acronym {
  text-decoration: none; }

code {
  line-height: 1em; }

pre {
  overflow: auto;
  word-wrap: normal;
  -moz-tab-size: 4;
  tab-size: 4; }

sub,
sup {
  line-height: 0.5em; }

img,
.wp-caption {
  max-width: 100%;
  height: auto; }

iframe,
video,
embed,
object {
  display: block;
  max-width: 100%; }

img,
.left,
.alignleft,
.right,
.alignright {
  display: block; }

.center,
.aligncenter {
  display: block;
  float: none;
  text-align: center;
  margin-right: auto;
  margin-left: auto; }

.clear {
  clear: both; }

button,
input[type=submit] {
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none; }

body {
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  line-height: 34px;
  color: #111111;
  overflow-x: hidden; }

#header {
  padding-top: 21px;
  padding-bottom: 21px; }


#content {
  word-break: break-word;
  padding-top: 34px;
  padding-bottom: 34px; }

#footer {
  color: #828282;
  padding-top: 21px;
  padding-bottom: 21px;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

.container {
  box-sizing: border-box;
  padding-left: 21px;
  padding-right: 21px; }
  @media all and (min-width: 686px) {
    .container {
  max-width: 644px;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto; } }
  @media all and (min-width: 712px) {
    .container {
  max-width: 100%;
  padding-left: 34px;
  padding-right: 34px;
  margin-left: 0;
  margin-right: 0; } }
  @media all and (min-width: 1108px) {
    .container {
  max-width: 1040px;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto; } }

a {
  color: #12a7ff;
  text-decoration: none; }
  p a,
  .post_content a {
    text-decoration: underline; }
      p a.button,
      .post_content a.button {
        text-decoration: none; }

code,
pre,
kbd {
  font-family: Menlo, Consolas, Monaco, "Andale Mono", Courier, Verdana, sans-serif; }

  .grt h1 {
    font-family: "Poppins", sans-serif;
    font-size: 41px;
    line-height: 65px;
    font-weight: bold;
    color: #111111;
    margin-bottom: 34px; }
  .grt h2 {
    font-family: "Poppins", sans-serif;
    font-size: 32px;
    line-height: 52px;
    font-weight: bold;
    margin-top: 55px;
    margin-bottom: 34px; }
  .grt h3 {
    font-family: "Poppins", sans-serif;
    font-size: 25px;
    line-height: 41px;
    font-weight: bold;
    margin-top: 34px;
    margin-bottom: 21px; }
  .grt h4 {
    font-family: "Poppins", sans-serif;
    font-size: 20px;
    line-height: 34px;
    font-weight: bold;
    margin-bottom: 13px; }
  .grt h1 + h2,
  .grt h2 + h3,
  .grt h2:first-child,
  .grt h3:first-child {
    margin-top: 0; }

  .grt ul,
  .grt ol {
    margin-left: 34px; }
  .grt li {
    margin-bottom: 13px; }
    .grt li:last-child {
      margin-bottom: 0; }
  .grt blockquote {
    color: #828282;
    padding-left: 21px;
    border-left: 8px solid rgba(0, 0, 0, 0.1); }
  .grt sub,
  .grt sup {
    color: #828282; }
  .grt code,
  .grt pre,
  .grt kbd {
    font-size: 18px; }
  .grt code {
    background-color: rgba(0, 0, 0, 0.08);
    padding: 5px;
    border-radius: 8px;
    margin: 0 1px; }
  .grt pre {
    background-color: #eeeeee;
    padding: 21px; }
  .grt kbd {
    font-size: 16px;
    color: #4e4e4e;
    background-color: #f7f7f7;
    padding: 5px 8px;
    border: 1px solid #cccccc;
    border-radius: 8px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px #fafafa inset, 0 0 0 1px white inset;
    margin: 0 1px; }
  .grt p,
  .grt ul,
  .grt ol,
  .grt blockquote,
  .grt pre,
  .grt img {
    margin-bottom: 34px; }
  .grt ul ul,
  .grt ul ol,
  .grt ol ul,
  .grt ol ol {
    margin-top: 13px;
    margin-bottom: 0;
    margin-left: 21px; }
    .grt blockquote > :last-child {
      margin-bottom: 0; }
  @media all and (min-width: 686px) {
    body:not(.has-sidebar) .grt h1 {
        font-size: 52px;
        line-height: 81px; }
      body:not(.has-sidebar) .grt h2 {
        font-size: 41px;
        line-height: 65px; }
      body:not(.has-sidebar) .grt h3 {
        font-size: 32px;
        line-height: 52px; }
      body:not(.has-sidebar) .grt h4 {
        font-size: 25px;
        line-height: 41px; }
    .grt .left:not(.bar),
    .grt .alignleft {
      float: left;
      clear: both;
      margin-right: 34px; }
    .grt .right:not(.bar),
    .grt .alignright {
      float: right;
      clear: both;
      margin-left: 34px; } }
      .grt .headline_area .headline a {
        color: #111111; }
        .grt .headline_area .headline a:hover {
          color: #12a7ff; }
  .grt .byline {
    font-size: 16px;
    line-height: 28px;
    color: #828282;
    margin-top: -29px; }
      .grt .byline .post_author:after,
      .grt .byline .post_date:after,
      .grt .byline .num_comments_link:after,
      .grt .byline .post_edit:after {
        display: block;
        height: 0;
        content: '\a';
        white-space: pre; }
    .grt .byline .avatar {
      width: 56px;
      height: 56px; }
  .grt .drop_cap {
    font-size: 68px;
    line-height: 1em;
    margin-right: 8px;
    float: left; }
  .grt .small {
    font-size: 16px;
    line-height: 28px;
    color: #828282; }
    .grt .alert,
    .grt .note,
    .grt .box {
      padding: 21px; }
    .grt .alert {
      background-color: #ffdd2c; }

    .grt .note {
      background-color: #ccf1ff; }

    .grt .box {
      background-color: #cce8cc; }

  .grt .highlight {
    background-color: #ffdd2c;
    padding: 5px 0; }
  .grt .impact {
    font-size: 25px;
    line-height: 41px; }
  .grt .bar {
    color: #828282; }
  .grt .pop {
    box-shadow: 0 0 13px rgba(0, 0, 0, 0.4); }
  .grt .wp-caption,
  .grt .frame {
    box-sizing: border-box;
    color: #828282;
    background-color: #eeeeee;
    padding: 21px; }
    .grt .wp-caption img {
      margin-bottom: 21px; }
    .grt .wp-caption.aligncenter img {
      margin-right: auto;
      margin-left: auto; }
    .grt .wp-caption .wp-caption-text {
      margin-bottom: 0; }
  .grt .wp-caption-text,
  .grt .caption,
  .grt .footnotes {
    font-size: 16px;
    line-height: 28px; }
    .grt .wp-caption-text code,
    .grt .caption code,
    .grt .footnotes code {
      font-size: 14px; }
  .grt .caption {
    color: #828282;
    margin-top: -29px; }
  .grt .center + .caption,
  .grt .aligncenter + .caption {
    text-align: center; }
  .grt blockquote + .caption {
    padding-left: 29px; }
  .grt .footnotes {
    color: #828282;
    padding-top: 21px;
    border-top: 1px dotted rgba(0, 0, 0, 0.15); }
    .grt .footnotes p {
      margin-bottom: 13px; }
  .grt .author_description {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding-top: 34px; }
    .grt .author_description .avatar {
      float: left;
      width: 102px;
      height: 102px;
      margin-right: 21px; }
  .grt .author_description_intro {
    font-weight: bold; }
  .grt .post_box + .post_box {
    margin-top: 55px; }
    .grt .byline,
    .grt .alert,
    .grt .note,
    .grt .box,
    .grt .wp-caption,
    .grt .caption,
    .grt .footnotes,
    .grt .page-links {
      margin-bottom: 34px; }
      .grt .alert > :last-child,
      .grt .note > :last-child,
      .grt .box > :last-child,
      .grt .footnotes > :last-child,
      .grt .post_list > :last-child {
        margin-bottom: 0; }
  .grt .post_list {
    margin-bottom: 0; }
    .grt .post_box:after,
    .grt .headline_area:after,
    .grt .byline:after,
    .grt .post_content:after,
    .grt .post_list:after,
    .grt .extend:after,
    .grt .author_description:after,
    .grt .query_box:after {
      display: table;
      clear: both;
      content: ''; }
  @media all and (min-width: 424px) {
    .grt .byline .post_author:after,
        .grt .byline .post_date:after,
        .grt .byline .num_comments_link:after {
          display: none; }
        .grt .byline .post_author ~ .post_date_intro:before,
        .grt .byline .post_date_intro ~ .post_date_intro:before,
        .grt .byline .post_author ~ .num_comments_link:before,
        .grt .byline .post_date ~ .num_comments_link:before,
        .grt .byline .post_author ~ .post_edit:before,
        .grt .byline .post_date ~ .post_edit:before,
        .grt .byline .num_comments_link ~ .post_edit:before {
          color: #828282;
          content: '\2022\0020'; } }
  @media all and (min-width: 686px) {
    .grt .headline_area {
      position: relative; }
    .grt .impact {
      font-size: 32px;
      line-height: 52px; } }

label {
  display: block;
  font-weight: bold; }
  label .required {
    font-weight: normal; }

.required {
  color: #dd0000; }

input,
textarea,
select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  line-height: 1em;
  font-weight: inherit;
  padding: 8px;
  border: 1px solid rgba(0, 0, 0, 0.2); }

input[type=checkbox],
input[type=radio],
input[type=image],
input[type=submit],
select {
  width: auto; }

input[type=checkbox],
input[type=radio] {
  display: inline-block; }
  input[type=checkbox] + label,
  input[type=radio] + label {
    display: inline;
    font-weight: normal;
    margin-left: 13px; }

textarea {
  line-height: inherit; }


  button,
  input[type=submit],
  .button {
    display: inline-block;
    width: auto;
    font-family: inherit;
    font-size: inherit;
    font-weight: normal;
    line-height: 1em;
    vertical-align: top;
    color: #111111;
    text-decoration: none;
    background-color: #eeeeee;
    padding: 8px 13px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom-width: 4px;
    border-bottom-color: rgba(0, 0, 0, 0.25);
    border-radius: 13px;
    outline: 1px solid rgba(0, 0, 0, 0.1);
    outline-offset: -1px;
    cursor: pointer;
    -webkit-appearance: none; }
  button:hover,
  input[type=submit]:hover,
  .button:hover,
  button:active,
  input[type=submit]:active,
  .button:active {
    text-decoration: none;
    background-color: white;
    transition: background-color 0.3s ease; }
  button:active,
  input[type=submit]:active,
  .button:active {
    border-bottom-width: 2px;
    margin-top: 2px; }

    button.save,
    .button.save {
      color: white;
      background-color: #509b26; }
    button.save:hover,
    .button.save:hover,
    button.save:active,
    .button.save:active {
      background-color: #60ba2e; }
    button.delete,
    .button.delete {
      color: white;
      background-color: #d50b0b; }
    button.delete:hover,
    .button.delete:hover,
    button.delete:active,
    .button.delete:active {
      background-color: #f31313; }
    button.action,
    .button.action {
      color: white;
      background-color: #12a7ff; }
    button.action:hover,
    .button.action:hover,
    button.action:active,
    .button.action:active {
      background-color: #38b5ff; }
    button.update,
    .button.update {
      background-color: #ffdd2c; }
    button.update:hover,
    .button.update:hover,
    button.update:active,
    .button.update:active {
      background-color: #ffe352; }


  #site_title {
    font-family: "Poppins", sans-serif;
    font-size: 52px;
    line-height: 81px;
    font-weight: bold;
    display: inline-block;
    vertical-align: bottom; }
    #site_title.has-logo {
      margin-bottom: 21px; }
    #site_title.has-logo:last-child {
      margin-bottom: 0; }
  #site_title a {
    color: inherit; }

  #site_tagline {
    color: #828282; }

  .prev_next {
    border-top: 1px dotted rgba(0, 0, 0, 0.15);
    padding-top: 21px;
    padding-bottom: 21px;
    margin-top: 34px;
    margin-bottom: -34px; }
  .prev_next.blog_nav {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse; }
    .prev_next .previous_posts:first-child {
      margin-right: auto; }
    .prev_next .previous_posts a:before {
      content: '\2190\0020'; }
    .prev_next .next_posts a:after {
      content: '\0020\2192'; }
  .prev_next .next_post,
  .prev_next .previous_post {
    margin-bottom: 0; }
  .prev_next .next_post + .previous_post {
    margin-top: 21px; }

  #comments .comments_intro {
    margin-top: 55px;
    margin-bottom: 34px; }
    #comments .comments_intro:after {
      content: '\0020\2193'; }
  #comments .num_comments,
  #comments .comments_closed {
    font-weight: bold; }
  #comments .comments_closed {
    font-weight: bold;
    margin-top: 55px; }
  #comments .comment_list {
    list-style: none;
    margin-left: 0; }
    #comments .comment_list > .comment:first-child {
      margin-top: 0; }
  #comments .comment {
    margin-top: 55px; }
    #comments .comment #respond {
      margin-top: 34px; }
  #comments .children {
    list-style: none;
    margin-top: 0;
    margin-left: 21px; }
    #comments .children .comment {
      margin-top: 34px; }
  #comments .comment_header {
    margin-bottom: 13px; }
  #comments .avatar {
    float: right;
    width: 55px;
    height: 55px;
    margin-left: 21px; }
  #comments .comment_author {
    font-weight: bold; }
    #comments .comment_date:before {
      display: block;
      height: 0;
      content: '\a';
      white-space: pre; }
    #comments .comment_text :last-child {
      margin-bottom: 13px; }
  #comments .comment_footer {
    font-size: 16px;
    line-height: 28px; }
    #comments .comment_footer a {
      text-transform: lowercase;
      margin-right: 13px; }
  #comments .comment_nav {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding: 21px 0;
    border-top: 1px dotted rgba(0, 0, 0, 0.15);
    border-bottom: 1px dotted rgba(0, 0, 0, 0.15); }
    #comments .comment_nav .previous_comments:first-child {
      margin-right: auto; }
  #comments #respond {
    margin-top: 55px; }
    #comments #respond p {
      margin-bottom: 21px; }
    #comments #respond .comment-reply-title {
      font-weight: bold; }
    #comments #respond #cancel-comment-reply-link {
      font-weight: normal;
      margin-left: 13px; }
    #comments #respond .comment-notes,
    #comments #respond .logged-in-as {
      padding: 21px;
      background-color: #ccf1ff; }
    #comments #respond .comment-form-cookies-consent {
      font-size: 16px;
      line-height: 28px; }
      #comments #respond .comment-form-cookies-consent input {
        vertical-align: -8%; }
      #comments #respond .comment-form-cookies-consent label {
        margin-left: 8px; }
    #comments #respond .submit {
      padding: 13px; }
  @media all and (min-width: 686px) {
    #comments .children {
      margin-left: 34px; }
      #comments .comment_date:before {
        display: inline;
        height: auto;
        content: '\2022\0020';
        white-space: normal; } }

      .readability .text .byline .avatar {
        float: right;
        margin-left: 21px;
        margin-bottom: 0; }
      .focus .text .byline .avatar {
        margin-bottom: 8px; }
      @media all and (min-width: 686px) {
        .readability .text .byline .avatar {
          float: left;
          margin-left: 0;
          margin-right: 21px; }
        .focus .text .byline .avatar {
          margin-bottom: 13px; } }
    .focus .text .breakout {
      margin-left: auto;
      margin-right: auto; }
    .text .breakout.left {
      float: none;
      margin-left: 0;
      margin-right: 0; }
    .text .pullout.left {
      float: none;
      margin-right: 0; }

@media all and (min-width: 712px) {
  .readability .text,
    .focus .text {
      max-width: 644px; }
      .readability .text .extend,
      .focus .text .extend {
        box-sizing: border-box;
        max-width: calc(100vw - 68px); }
      .readability .text .wp-caption img,
      .focus .text .wp-caption img {
        max-width: 100%; }
      .readability .text .headline_area,
      .readability .text .post_content > h1,
      .readability .text .post_content > h2,
      .readability .text .post_content > h3,
      .readability .text .post_content > h4,
      .readability .text .post_content > .impact,
      .readability .text .extend,
      .readability .text .extend + .caption {
        margin-right: calc(712px - 100vw); }
    .focus .text {
      margin-left: auto;
      margin-right: auto; }
      .focus .text .headline_area,
      .focus .text .post_content > h1,
      .focus .text .post_content > h2,
      .focus .text .post_content > h3,
      .focus .text .post_content > .impact,
      .focus .text .extend,
      .focus .text .extend + .caption {
        margin-left: calc(356px - (100vw / 2));
        margin-right: calc(356px - (100vw / 2)); }
        .focus .text .extend.right {
          margin-left: 34px; }
        .focus .text .extend.left {
          margin-right: 34px; } }

@media all and (min-width: 1108px) {
  .readability .text .pullout,
      .focus .text .pullout {
        float: right;
        box-sizing: border-box; }
      .readability .text .extend,
      .focus .text .extend {
        max-width: 1040px; }
        .readability .text .extend .pullout,
        .focus .text .extend .pullout {
          float: none;
          max-width: 100%; }
      .readability .text .headline_area,
      .readability .text .post_content > h1,
      .readability .text .post_content > h2,
      .readability .text .post_content > h3,
      .readability .text .post_content > h4,
      .readability .text .post_content > .impact,
      .readability .text .extend,
      .readability .text .extend + .caption {
        margin-right: -396px; }
      .readability .text .breakout {
        max-width: calc(701px + (100vw - 1040px) / 2);
        margin-right: calc(-396px - (100vw - 1040px) / 2); }
      .readability .text .pullout {
        max-width: calc(100vw - (100vw - 1040px) / 2 - 699px);
        margin-right: calc(-396px - (100vw - 1040px) / 2); }
        .readability .text .extend .pullout {
          margin-left: 0;
          margin-right: 0; }
      .focus .text .headline_area,
      .focus .text .post_content > h1,
      .focus .text .post_content > h2,
      .focus .text .post_content > h3,
      .focus .text .post_content > .impact,
      .focus .text .extend,
      .focus .text .extend + .caption {
        margin-left: -198px;
        margin-right: -198px; }
      .focus .text .breakout {
        max-width: calc(503px + (100vw - 1040px) / 2);
        margin-left: 34px;
        margin-right: calc(322px - (100vw / 2)); }
        .focus .text .breakout.left {
          margin-left: calc(322px - (100vw / 2));
          margin-right: 34px; }
      .focus .text .pullout {
        max-width: calc(100vw - (100vw - 1040px) / 2 - 876px);
        margin-right: calc(-198px - (100vw - 1040px) / 2); }
        .focus .text .pullout.left {
          float: left;
          margin-left: calc(-198px - (100vw - 1040px) / 2);
          margin-right: 0; }
        .focus .text .extend .pullout {
          margin-left: auto;
          margin-right: auto; }
    .text .breakout,
    .text .extend .breakout {
      float: right;
      box-sizing: border-box;
      max-width: calc(503px + (100vw - 1040px) / 2);
      margin-left: 34px;
      margin-right: calc((1040px - 100vw) / 2); }
      .text .breakout.left,
      .text .extend .breakout.left {
        float: left;
        margin-left: calc((1040px - 100vw) / 2);
        margin-right: 34px; }
      .has-sidebar .text .breakout,
      .has-sidebar .text .extend .breakout {
        float: none;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0; } }

    .mode-focus #header,
    .mode-focus #nav,
    .mode-focus #nav-secondary,
    .mode-focus #footer {
      text-align: center; }
      .mode-focus #header_image,
      .mode-focus #logo {
        margin-left: auto;
        margin-right: auto; }

      .focus .text .headline_area,
      .focus .text .featured_image_wrap,
      .focus .text .post_content h1,
      .focus .text h2,
      .focus .text h3,
      .focus .text h1 + .caption,
      .focus .text h2 + .caption,
      .focus .text h3 + .caption,
      .focus .text .impact,
      .focus .text .extend + .caption,
      .focus .text .extend .caption {
        text-align: center; }
        .focus .text .byline .avatar {
          margin-left: auto;
          margin-right: auto; }
    .focus .archive_title {
      text-align: center; }

      @media all and (min-width: 712px) {
        .readability .text .wp-post-image,
        .focus .text .wp-post-image {
          max-width: calc(100vw - 68px); }
        .focus .text .wp-post-image {
          margin-left: auto;
          margin-right: auto; } }
      @media all and (min-width: 1108px) {
        .readability .text .wp-post-image,
        .focus .text .wp-post-image {
          max-width: 1040px; } }

  .featured_image_link {
    display: inline-block;
    vertical-align: top; }

@media all and (min-width: 712px) {
  .readability .text .featured_image_wrap {
        margin-right: calc(712px - 100vw); }
      .focus .text .featured_image_wrap {
        margin-left: calc(356px - (100vw / 2));
        margin-right: calc(356px - (100vw / 2)); } }

@media all and (min-width: 1108px) {
  .readability .text .featured_image_wrap {
        margin-right: -396px; }
      .focus .text .featured_image_wrap {
        margin-left: -198px;
        margin-right: -198px; } }

  .menu {
    list-style: none;
    display: flex;
    align-items: baseline;
    white-space: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .menu::-webkit-scrollbar {
    display: none; }
  .menu li {
    margin-right: 34px; }
    .menu li:last-child {
      margin-right: 0; }
  .menu a {
    display: block;
    padding-top: 13px;
    padding-bottom: 13px; }
  .menu:before {
    content: '\2194';
    color: #828282;
    margin-right: 21px; }
  @media all and (min-width: 686px) {
    .mode-focus .menu {
      justify-content: center; }
    .menu:before {
      display: none; } }

  .bar {
    color: #828282; }
  @media all and (min-width: 1108px) {
    .text .bar {
      width: 100%; }
      .text .bar code {
        font-size: 14px; }
      .readability .text .bar,
      .focus .text .bar {
        box-sizing: border-box;
        float: right;
        clear: right;
        font-size: 16px;
        line-height: 28px;
        margin-bottom: 21px; }
      .readability .text .bar {
        max-width: 341px;
        margin-right: -396px; }
      .focus .text .bar {
        max-width: 164px;
        margin-right: -198px; }
        .focus .text .bar.left {
          float: left;
          clear: left;
          margin-left: -198px; } }

  .bleed {
    position: relative;
    width: 100vw;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 55px;
    margin-bottom: 55px;
    margin-left: -21px; }
  .bleed + .bleed {
    margin-top: -55px; }
  .content > .post_box:last-child .bleed:last-child {
    border-bottom: 0;
    margin-bottom: -34px; }
  .bleed:after {
    display: table;
    clear: both;
    content: ''; }
  @media all and (min-width: 686px) {
    .bleed {
    margin-left: calc(calc(644px - 100vw) / 2); } }
  @media all and (min-width: 712px) {
    .bleed {
    margin-left: -34px; } }
  @media all and (min-width: 1108px) {
    .bleed {
    margin-left: calc(calc(1040px - 100vw) / 2); } }
  .focus .bleed {
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw; }
  .bleed .container {
    padding-top: 34px;
    padding-bottom: 21px; }
  .bleed pre,
  .bleed .wp-caption,
  .bleed .frame {
    background-color: rgba(0, 0, 0, 0.1); }
  .bleed.no-border {
    border-top: none; }
  .bleed.red {
    background-color: #ffcccc; }
    .bleed.red blockquote,
    .bleed.red .post_content > .small,
    .bleed.red .caption,
    .bleed.red .bar,
    .bleed.red .wp-caption {
      color: maroon; }
  .bleed.salmon {
    background-color: #ffddcc; }
    .bleed.salmon blockquote,
    .bleed.salmon .post_content > .small,
    .bleed.salmon .caption,
    .bleed.salmon .bar,
    .bleed.salmon .wp-caption {
      color: #802b00; }
  .bleed.orange {
    background-color: #ffeecc; }
    .bleed.orange blockquote,
    .bleed.orange .post_content > .small,
    .bleed.orange .caption,
    .bleed.orange .bar,
    .bleed.orange .wp-caption {
      color: #805500; }
  .bleed.yellow {
    background-color: #ffffcc; }
    .bleed.yellow blockquote,
    .bleed.yellow .post_content > .small,
    .bleed.yellow .caption,
    .bleed.yellow .bar,
    .bleed.yellow .wp-caption {
      color: olive; }
  .bleed.chartreuse {
    background-color: #eeffcc; }
    .bleed.chartreuse blockquote,
    .bleed.chartreuse .post_content > .small,
    .bleed.chartreuse .caption,
    .bleed.chartreuse .bar,
    .bleed.chartreuse .wp-caption {
      color: #558000; }
  .bleed.lime {
    background-color: #ddffcc; }
    .bleed.lime blockquote,
    .bleed.lime .post_content > .small,
    .bleed.lime .caption,
    .bleed.lime .bar,
    .bleed.lime .wp-caption {
      color: #2a8000; }
  .bleed.green {
    background-color: #ccffcc; }
    .bleed.green blockquote,
    .bleed.green .post_content > .small,
    .bleed.green .caption,
    .bleed.green .bar,
    .bleed.green .wp-caption {
      color: green; }
  .bleed.aquamarine {
    background-color: #ccffdd; }
    .bleed.aquamarine blockquote,
    .bleed.aquamarine .post_content > .small,
    .bleed.aquamarine .caption,
    .bleed.aquamarine .bar,
    .bleed.aquamarine .wp-caption {
      color: #00802b; }
  .bleed.turquoise {
    background-color: #ccffee; }
    .bleed.turquoise blockquote,
    .bleed.turquoise .post_content > .small,
    .bleed.turquoise .caption,
    .bleed.turquoise .bar,
    .bleed.turquoise .wp-caption {
      color: #008055; }
  .bleed.cyan {
    background-color: #ccffff; }
    .bleed.cyan blockquote,
    .bleed.cyan .post_content > .small,
    .bleed.cyan .caption,
    .bleed.cyan .bar,
    .bleed.cyan .wp-caption {
      color: teal; }
  .bleed.blue {
    background-color: #cceeff; }
    .bleed.blue blockquote,
    .bleed.blue .post_content > .small,
    .bleed.blue .caption,
    .bleed.blue .bar,
    .bleed.blue .wp-caption {
      color: #005580; }
  .bleed.steel {
    background-color: #ccddff; }
    .bleed.steel blockquote,
    .bleed.steel .post_content > .small,
    .bleed.steel .caption,
    .bleed.steel .bar,
    .bleed.steel .wp-caption {
      color: #002a80; }
  .bleed.lavender {
    background-color: #ccccff; }
    .bleed.lavender blockquote,
    .bleed.lavender .post_content > .small,
    .bleed.lavender .caption,
    .bleed.lavender .bar,
    .bleed.lavender .wp-caption {
      color: navy; }
  .bleed.purple {
    background-color: #ddccff; }
    .bleed.purple blockquote,
    .bleed.purple .post_content > .small,
    .bleed.purple .caption,
    .bleed.purple .bar,
    .bleed.purple .wp-caption {
      color: #2b0080; }
  .bleed.orchid {
    background-color: #eeccff; }
    .bleed.orchid blockquote,
    .bleed.orchid .post_content > .small,
    .bleed.orchid .caption,
    .bleed.orchid .bar,
    .bleed.orchid .wp-caption {
      color: #550080; }
  .bleed.magenta {
    background-color: #ffccff; }
    .bleed.magenta blockquote,
    .bleed.magenta .post_content > .small,
    .bleed.magenta .caption,
    .bleed.magenta .bar,
    .bleed.magenta .wp-caption {
      color: purple; }
  .bleed.pink {
    background-color: #ffccee; }
    .bleed.pink blockquote,
    .bleed.pink .post_content > .small,
    .bleed.pink .caption,
    .bleed.pink .bar,
    .bleed.pink .wp-caption {
      color: #800055; }
  .bleed.rose {
    background-color: #ffccdd; }
    .bleed.rose blockquote,
    .bleed.rose .post_content > .small,
    .bleed.rose .caption,
    .bleed.rose .bar,
    .bleed.rose .wp-caption {
      color: #80002a; }

.grt h1:has(+.caption),
.grt h2:has(+.caption),
.grt h3:has(+.caption),
.grt h4:has(+.caption) {
  margin-bottom: 0; }

    .grt h1 + .caption,
    .grt h2 + .caption,
    .grt h3 + .caption,
    .grt h4 + .caption {
      margin-top: 0; }
  .grt h3 + .caption {
    margin-bottom: 21px; }
  .grt h4 + .caption {
    margin-bottom: 13px; }

      .content > .post_box:first-child > .post_content:first-child > .bleed:first-child {
        border-top: 0;
        margin-top: -34px; }

.bleed:has(+.bleed) {
  border-bottom: 0; }

.card {
  box-sizing: border-box;
  color: inherit;
  border-radius: 8px;
  box-shadow: 0 5px 8px rgba(0, 0, 0, 0.3);
  margin-bottom: 34px;
  overflow: hidden; }
  .card .card-body {
    padding: 24px 21px 21px 21px; }
  .card .card-text:first-child {
    margin-top: 3px; }
  .card .card-title,
  .card .card-subtitle {
    text-align: center; }
    .card .card-title:last-child,
    .card .card-subtitle:last-child {
      margin-bottom: 0; }
  .card .card-title {
    font-size: 25px;
    line-height: 41px;
    font-weight: bold;
    margin-bottom: 17px; }
    .card .card-title a {
      text-decoration: none; }
  .card .card-subtitle {
    font-size: 16px;
    line-height: 28px;
    color: #828282;
    margin-top: -17px;
    margin-bottom: 21px; }
  .card.card-centered .card-text {
    text-align: center; }
  .card .card-text > :last-child {
    margin-bottom: 0; }
  @media all and (min-width: 465px) {
    .card .card-body {
      padding: 24px 34px 34px 34px; }
    .card .card-title {
      font-size: 32px;
      line-height: 52px; } }

  .grt .card {
    display: block;
    text-decoration: none; }
  .grt .card .card-image {
    max-width: 100%;
    margin-bottom: 0; }

.card-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .card-flex > .card {
    flex-basis: 100%; }
    .card-flex.card-flex-2 > .card,
    .card-flex.card-flex-3 > .card {
      max-width: 503px; }
    @media all and (min-width: 712px) {
      .card-flex.card-flex-2,
  .card-flex.card-flex-3 {
    justify-content: space-between; }
      .card-flex.card-flex-2 > .card,
      .card-flex.card-flex-3 > .card {
        max-width: calc(50% - 17px); }
      .card-flex.card-flex-2 .card-body,
      .card-flex.card-flex-3 .card-body {
        padding: 24px 21px 21px 21px; }
      .card-flex.card-flex-2 .card-title,
      .card-flex.card-flex-3 .card-title {
        font-size: 25px;
        line-height: 41px; } }
    @media all and (min-width: 948px) {
      .card-flex.card-flex-2 .card-body,
      .card-flex.card-flex-3 .card-body {
        padding: 24px 34px 34px 34px; }
      .card-flex.card-flex-2 .card-title,
      .card-flex.card-flex-3 .card-title {
        font-size: 32px;
        line-height: 52px; } }
    @media all and (min-width: 1108px) {
      .card-flex.card-flex-3 > .card {
        max-width: calc(33.333% - 22.668px); }
      .card-flex.card-flex-3 .card-body {
        padding: 24px 21px 21px 21px; }
      .card-flex.card-flex-3 .card-title {
        font-size: 25px;
        line-height: 41px; } }
    .card-flex.card-flex-4 > .card {
      max-width: 351.75px; }
    @media all and (min-width: 465px) {
      .card-flex.card-flex-4 .card-body {
        padding: 24px 21px 21px 21px; }
      .card-flex.card-flex-4 .card-title {
        font-size: 25px;
        line-height: 41px; } }
    @media all and (min-width: 545px) {
      .card-flex.card-flex-4 {
    justify-content: space-between; }
      .card-flex.card-flex-4 > .card {
        max-width: calc(50% - 17px); } }
    @media all and (min-width: 839.5px) {
      .card-flex.card-flex-4 > .card {
        max-width: calc(33.333% - 22.668px); } }
    @media all and (min-width: 1108px) {
      .card-flex.card-flex-4 > .card {
        max-width: calc(25% - 25.5px); } }

/*
 * ---:[ Custom CSS ]:---
 */
/*
 * =====================================================
 * 1.  GLOBAL HEADER
 * =====================================================
 */
#header {
  padding: 0px 0px 2px;
  margin-top: -4px;
  border-bottom: 1px solid #dddddd;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1; }

.bar {
  color: #111111 !important; }

.crumbs {
  display: block;
  width: fit-content;
  margin: -30px auto 23px;
  text-align: center;
  font-size: 13px; }

#logo {
  height: 25px;
  width: auto;
  max-height: 100%;
  transition: all 0.3s ease; }

/*
 * =====================================================
 * Header divider: everywhere except the homepage
 * =====================================================
 */
/*
 * 1) Neutralize the base rule so the theme can't force a line
 */
/*
 * #header{
 * border-bottom: 0 !important;
 * }
 */
/*
 * 2) Opt-in the divider on every page that is NOT the homepage
 */
/*
 * body:not(.home):not(.front-page):not(.template-front) #header{
 * border-bottom: 1px solid #ddd !important;
 * }
 */
/*
 * 3) Belt-and-braces: kill any pseudo line or shadow on the homepage
 */
/*
 * body.home #header,
 * body.front-page #header,
 * body.template-front #header{
 * box-shadow: none !important;
 * background-image: none !important;
 * }
 */
/*
 * body.home #header::before,
 * body.home #header::after,
 * body.front-page #header::before,
 * body.front-page #header::after,
 * body.template-front #header::before,
 * body.template-front #header::after{
 * content: none !important;
 * }
 */
/*
 * 4) If your theme draws the line on the next container instead, nuke it on home
 */
/*
 * body.home #content,
 * body.home .content,
 * body.home .container,
 * body.home .wrap{
 * border-top: 0 !important;
 * box-shadow: none !important;
 * }
 */
/*
 * =====================================================
 * 2.  HOMEPAGE HERO   ( body.template-front )
 * =====================================================
 */
/*
 * Headline + sub‑headline
 */
.template-front h1.headline {
    /*
   * responsive font size: min 2rem, fluid 6vw, max 3.5rem
   */
  font-size: clamp(2rem, 6vw, 3.5rem) !important;
  margin: -25px 0 1.25rem !important;
  line-height: 1.15 !important;
  padding: 0 !important; }

@media (max-width: 480px) {
  body.template-front h1.headline {
        /*
     * bumped up from 1.8rem for a bit more weight on phones
     */
    font-size: 1.9rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.7rem !important;
    margin-top: -25px !important; } }

/*
 * Subscribe page H1
 */
h1.subscribe-page-hero {
  font-size: clamp(2rem, 6vw, 3.5rem) !important;
  line-height: 1.15 !important;
  text-align: center !important;
  padding: 0 !important; }

@media (max-width: 480px) {
  h1.subscribe-page-hero {
    margin-top: -15px !important;
        /*
     * tiny pull-up toward eyebrow on mobile
     */ } }

/*
 * =====================================================
 * ConvertKit spacing (no vw/clamp)
 * Fix iPad mini overlap by separating phones vs tablets
 * =====================================================
 */
.ck-wrapper {
  margin: -24px 0 -25px !important;
    /*
   * desktop baseline
   */
  position: relative !important;
  overflow: visible !important;
  isolation: isolate !important; }

.ck-wrapper iframe {
  position: relative !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important; }

/*
 * Real phones (touch) — keep your strong pull
 */
@media (max-width: 600px) and (hover: none) and (pointer: coarse) {
  .ck-wrapper {
    margin-top: -84px !important; } }

@media (max-width: 480px) and (hover: none) and (pointer: coarse) {
  .ck-wrapper {
    margin-top: -76px !important; } }

/*
 * Touch tablets (includes iPad mini): DO NOT use the phone pull
 */
@media (min-width: 601px) and (max-width: 1024px) and (hover: none) and (pointer: coarse) {
  .ck-wrapper {
    margin-top: 0px !important; } }

/*
 * Desktop browser dragged down to tablet widths: stop overlap
 */
@media (min-width: 720px) and (max-width: 1024px) and (hover: hover) and (pointer: fine) {
  .ck-wrapper {
    margin-top: 0px !important; } }

/*
 * =====================================================
 * 4.  TYPOGRAPHY / LIST HELPERS
 * =====================================================
 */
.focus .text .post_content > h2,
.focus .text .post_content > h3 {
  margin-left: 0;
  margin-right: 0; }

ul.greenchecklist,
ul.redxlist,
ul.checklist,
ul.iconsbullet,
ul.iconsbulletgreen,
ul.bluediamondlist,
ul.nobullets {
  list-style-type: none;
  margin-left: 0; }

  ul.greenchecklist li {
    padding-left: 26px; }
    ul.greenchecklist li:before {
      content: '✅';
      color: blue;
      display: inline-block;
      width: 26px;
      margin-left: -26px;
      font-family: inherit;
      font-weight: normal; }

  ul.redxlist li {
    padding-left: 26px; }
    ul.redxlist li:before {
      content: '❌';
      color: red;
      display: inline-block;
      width: 26px;
      margin-left: -26px;
      font-family: inherit;
      font-weight: normal; }

ul.pulseicon {
  list-style: none; }
  ul.pulseicon li {
    padding-left: 26px; }
    ul.pulseicon li::before {
      content: '📈';
      margin-left: -26px;
      display: inline-block;
      width: 26px; }

  ul.checklist li {
    padding-left: 26px; }
    ul.checklist li:before {
      content: '\1f449';
      color: black;
      display: inline-block;
      width: 26px;
      margin-left: -26px;
      font-family: inherit;
      font-weight: normal; }

  ul.iconsbullet li {
    padding-left: 26px; }
    ul.iconsbullet li:before {
      content: '🟡';
      color: blue;
      display: inline-block;
      width: 26px;
      margin-left: -26px;
      font-family: inherit;
      font-weight: normal; }

  ul.iconsbulletgreen li {
    padding-left: 26px; }
    ul.iconsbulletgreen li:before {
      content: '🟢';
      color: blue;
      display: inline-block;
      width: 26px;
      margin-left: -26px;
      font-family: inherit;
      font-weight: normal; }

  ul.bluediamondlist li {
    padding-left: 26px; }
    ul.bluediamondlist li:before {
      content: '🔹';
      color: blue;
      display: inline-block;
      width: 26px;
      margin-left: -26px;
      font-family: inherit;
      font-weight: normal; }

  ul.nobullets li {
    padding-left: 0; }
    ul.nobullets li:before {
      content: '';
      display: none; }

ul.point-checklist {
  list-style-type: none;
  margin-left: 0; }

ul.point-checklist li {
  position: relative;
  padding-left: 1.5em;
    /*
   * indent
   */ }

ul.point-checklist li::before {
  content: "\27A1\FE0F";
    /*
   * ➡️
   */
  display: inline-block;
  width: 1.5em;
    /*
   * equals the indent above
   */
  margin-left: -1.5em;
    /*
   * creates the hanging indent
   */
  line-height: 1;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-weight: 400; }

/*
 * =====================================================
 * 5.  COMPONENT STYLES (unchanged)
 * =====================================================
 */
/*
 * Title boxes: blue, maroon and green
 */
.blue-titlebox,
.maroon-titlebox,
.green-titlebox {
  position: relative;
  max-width: 900px;
  margin: 30px auto;
  padding: 15px;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  display: inline-flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  background: white;
  border-radius: 8px;
  background-clip: padding-box;
  overflow-wrap: break-word;
  color: black; }

/*
 * Specific border colours
 */
.blue-titlebox {
  border: 5px solid #12a7ff; }

.maroon-titlebox {
  border: 5px solid #73182c; }

.green-titlebox {
  border: 5px solid #509b26; }

/*
 * Decorative corner arrow (shared size/position)
 */
.blue-titlebox::after,
.maroon-titlebox::after,
.green-titlebox::after {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  background: white;
  transform: rotate(225deg);
  bottom: -17px;
  left: 20px;
  border-radius: 3px;
  background-clip: padding-box; }

/*
 * Arrow colours
 */
.blue-titlebox::after {
  border-left: 5px solid #12a7ff;
  border-top: 5px solid #12a7ff; }

.maroon-titlebox::after {
  border-left: 5px solid #73182c;
  border-top: 5px solid #73182c; }

.green-titlebox::after {
  border-left: 5px solid #509b26;
  border-top: 5px solid #509b26; }

.watercolour-image {
  border: 4px solid white;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  padding: 6px;
  background: #f8f8f8;
  display: inline-block; }

.centered {
  display: flex;
  justify-content: center; }

.button.action {
  margin-bottom: 10px !important; }

@media (max-width: 768px) {
  .button.action {
    display: block;
    text-align: center;
    margin-bottom: 10px !important; } }

/*
 * Optional template‑custom headline elsewhere
 */
.template-custom h1.headline {
  margin: -30px 0 0.3em;
  line-height: 1.35 !important;
  padding: 0 !important;
  width: 100%; }

@media(max-width:768px) {
  .template-custom h1.headline {
    font-size: 35px;
    line-height: 1.2;
    margin: -30px 0 0.2em;
    padding: 0; } }

/*
 * Insider wrapper & checklist tweaks
 */
.insiderwrapper {
  margin: 0;
  padding: 0; }

.insiderwrapper ul {
  margin: 0;
  padding: 0; }

.insiderlist {
  list-style: none;
  font-weight: bold;
  margin-bottom: 0; }

.greenchecklist {
  margin-top: -5px !important; }

.greenchecklist li {
  margin-top: 4px; }

.greenchecklist li:last-child {
  margin-bottom: 0px !important; }

/*
 * Testimonials
 */
.testimonial-card {
  padding: 0 !important;
  font-family: 'Poppins', sans-serif;
  color: #111111;
  margin: 10px 0 -32px !important; }

.testimonial-quote {
  font-size: 20px;
  font-style: normal;
  line-height: 1.4;
  margin: -10px 0 12px;
  text-align: left;
  color: #4b5563;
    /*
   * slightly grey
   */ }

.testimonial-author-info {
  display: flex;
  align-items: center;
  margin: -5px 0 0; }

.testimonial-avatar {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 12px;
  flex-shrink: 0; }

.author-details {
  display: flex;
  flex-direction: column;
  align-items: flex-start; }

.author-name {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.1;
  margin: 0 0 2px; }

.testimonial-time {
  font-size: 18px;
  color: #666666;
  line-height: 1.3;
  margin: 0; }

/*
 * only need this for the mark
 */
.quote-mark {
  font-size: 20px;
  line-height: 0;
  vertical-align: baseline;
  margin-right: 6px;
  display: inline-block;
  color: #111111; }

/*
 * Disclaimer
 */
.disclaimer {
  font-size: 20px;
  color: #888888;
  text-align: center;
  font-family: 'Poppins', sans-serif;
  line-height: 1.5;
  max-width: 600px;
  margin: -5px auto; }

/*
 * Mascot grid
 */
.mascot-grid {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 16px;
  padding: 16px 24px;
  border: 4px solid #12a7ff;
  border-radius: 13px;
  box-shadow: 0 2px 4px rgba(18, 167, 255, 0.1);
  box-sizing: border-box; }

.mascot-grid img {
  margin-bottom: 8px; }

/*
 * Social icons
 */
.social-profiles {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 8px;
  margin-top: -35px; }

.social-profiles a {
  color: #555555;
  transition: transform 0.3s ease, color 0.3s ease;
  text-decoration: none; }

.social-profiles a:hover {
  color: black;
  transform: scale(1.1); }

.social-profiles i {
  font-size: 35px; }

/*
 * Utility
 */
@media(max-width:768px) {
  .center-on-mobile {
    float: none !important;
    display: block;
    margin-left: auto;
    margin-right: auto; } }

/*
 * Weekly card
 */
.weekly-card {
  padding: 0.5rem 0.5rem 0; }

/*
 * === restore full‑bleed watercolor ===
 */
.hero-card {
  padding: 0 0 1.5rem !important; }

.hero-card > *:not(img) {
  padding: 0 1.5rem !important; }

.hero-card {
  padding-bottom: 0rem !important; }

/*
 * Ipswich Insider — breadcrumb strip (text-only)
 */
.ippytop {
    /*
   * layout
   */
  display: flex;
  justify-content: center;
  align-items: center;
    /*
   * NEW line: controls space between words
   */
  word-spacing: 0.8rem;
    /*
   * tweak until it looks right
   */
    /*
   * type
   */
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  line-height: 1.2;
  color: #111111;
    /*
   * keep on one line; side-scroll on watch-sized screens
   */
  white-space: nowrap;
  overflow-x: auto;
    /*
   * spacing relative to the H1
   */
  margin: -25px 0 12px;
    /*
   * adjust if you still need a negative offset
   */
  padding: 1px; }

.subscribelogo {
  height: 30px;
  display: block;
  margin: -40px auto 35px !important;
  padding: 0; }

/*
 * compact, side-by-side footer links
 */
.footer-links {
  display: flex;
    /*
   * keep anchors on one line
   */
  justify-content: center;
    /*
   * centre the row
   */
  gap: 5px;
    /*
   * space between links
   */
  margin: 15px 0 15px !important;
    /*
   * 4 px top, 0 bottom
   */
  font-size: 13px; }

.footer-links a {
  color: #12a7ff;
  text-decoration: none; }

ul.herochecklist {
  list-style-type: none;
  margin-left: 0; }
  ul.herochecklist li {
    padding-left: 26px; }
    ul.herochecklist li:before {
      content: '✅';
      color: blue;
      display: inline-block;
      width: 26px;
      margin-left: -26px;
      font-family: inherit;
      font-weight: normal; }

.bullet-grid {
  display: grid;
    /*
   * grid = easiest
   */
  grid-template-columns: 1fr 1fr;
    /*
   * 2 columns
   */
  gap: 0.25em 1.2em;
    /*
   * row / column spacing
   */
  list-style: none;
    /*
   * kill default dots
   */
  margin: 0;
  padding: 0; }

/*
 * keep your custom emoji bullets
 */
.bullet-grid li {
    /*
   * you can keep the ::before rule you already use
   */
  position: relative;
    /*
   * (only needed if you’re positioning the icon)
   */ }

/*
 * collapse to one column below 600 px
 */
@media(max-width:600px) {
  .bullet-grid {
    grid-template-columns: 1fr;
        /*
     * single column
     */ } }

/*
 * Default desktop / tablet sizing (inherits your clamp)
 */
.sub-hero-new {
  font-size: clamp(1.3rem, 4vw, 2.1rem);
    /*
   * same as other hero h4s
   */
  line-height: 1.4;
  margin: 0rem 0 0.7rem !important;
  font-weight: 540 !important; }

/*
 * Force 22 px on phones
 */
@media (max-width: 600px) {
  .sub-hero-new {
    font-size: 21px !important; } }

/*
 * Top left trust badge
 */
#card-3913::before,
#card-3786::before {
  content: 'TRUSTED BY 6,800+ LOCALS';
  position: absolute;
  top: 7px;
  left: 7px;
  display: inline-block;
    /*
   * makes horizontal padding obvious
   */
  padding: 4px 10px;
    /*
   * 4px top/bottom, 4px left/right
   */
  background-color: #73182c;
  color: white;
  font-size: 13px;
  font-weight: 550;
    /*
   * semi bold
   */
  letter-spacing: 0.38px;
  border-radius: 6px; }

#card-3913,
#card-3786 {
  position: relative;
    /*
   * anchor for the absolute badge
   */
    /*
   * border: 5px solid #FFdd2c;
   */ }

/*
 * Badge label for card 8648
 */
#card-4201::before,
#card-8648::before {
  content: 'FORTNIGHTLY';
  background-color: #828282;
    /*
   * grey badge
   */
  color: white;
    /*
   * white text
   */
  padding: 5px;
  font-size: 12px;
  position: absolute;
  top: 0px;
  left: 0px;
  border-radius: 5px;
  font-weight: bold; }

#card-4201,
#card-8648 {
    /*
   * border: 5px solid #73182c;
   */
  position: relative; }

/*
 * Badge label for card 8648
 */
#card-4201::before {
  content: 'MONTHLY';
  background-color: #828282;
    /*
   * green badge
   */
  color: white;
    /*
   * white text
   */
  padding: 5px;
  font-size: 12px;
  position: absolute;
  top: 0px;
  left: 0px;
  border-radius: 5px;
  font-weight: bold; }

#card-4201 {
    /*
   * border: 5px solid #046a02;
   */
  position: relative; }

.grt .pill--date {
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 4px 7px;
  border-radius: 4px;
  min-width: 72px;
    /*
   * fixed width → pills line up neatly
   */
  text-align: center;
  margin-right: 7px;
    /*
   * gap before the text (extra safety)
   */
  background: #ffdd2c;
    /*
   * ← yellow colour
   */
  color: black;
    /*
   * dark text for contrast
   */
  vertical-align: 2%;
    /*
   * tiny baseline nudge
   */ }

.grt .games-pill {
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 4px 7px;
  border-radius: 4px;
  min-width: 72px;
    /*
   * fixed width → pills line up neatly
   */
  text-align: center;
  margin-right: 7px;
    /*
   * gap before the text (extra safety)
   */
  background: #af42ae;
    /*
   * ← purple colour
   */
  color: white;
    /*
   * dark text for contrast
   */
  vertical-align: 2%;
    /*
   * tiny baseline nudge
   */ }

.grt .guide-pill {
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 4px 7px;
  border-radius: 4px;
  min-width: 72px;
    /*
   * fixed width → pills line up neatly
   */
  text-align: center;
  margin-right: 7px;
    /*
   * gap before the text (extra safety)
   */
  background: #509b26;
    /*
   * ← green colour
   */
  color: white;
    /*
   * dark text for contrast
   */
  vertical-align: 2%;
    /*
   * tiny baseline nudge
   */ }

.grt .ranking-pill {
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 4px 7px;
  border-radius: 4px;
  min-width: 72px;
    /*
   * fixed width → pills line up neatly
   */
  text-align: center;
  margin-right: 7px;
    /*
   * gap before the text (extra safety)
   */
  background: #d50b0b;
    /*
   * ← red colour
   */
  color: white;
    /*
   * dark text for contrast
   */
  vertical-align: 2%;
    /*
   * tiny baseline nudge
   */ }

.grt .infographic-pill {
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 4px 7px;
  border-radius: 4px;
  min-width: 72px;
    /*
   * fixed width → pills line up neatly
   */
  text-align: center;
  margin-right: 7px;
    /*
   * gap before the text (extra safety)
   */
  background: #828282;
    /*
   * ← grey colour
   */
  color: white;
    /*
   * dark text for contrast
   */
  vertical-align: 2%;
    /*
   * tiny baseline nudge
   */ }

.grt .cheatsheet-pill {
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 4px 7px;
  border-radius: 4px;
  min-width: 72px;
    /*
   * fixed width → pills line up neatly
   */
  text-align: center;
  margin-right: 7px;
    /*
   * gap before the text (extra safety)
   */
  background: #f59e0b;
    /*
   * ← colour
   */
  color: white;
    /*
   * dark text for contrast
   */
  vertical-align: 2%;
    /*
   * tiny baseline nudge
   */ }

/*
 * Pink callout that behaves like your note/alert/box blocks
 */
.pink-note {
  display: block;
  margin: 0 0 1.25rem;
    /*
   * same vertical rhythm as your callouts
   */
  padding: 1rem 1.25rem;
    /*
   * inner spacing
   */
  border-radius: 1px;
    /*
   * rounded corners
   */
  background: #ffe6f5;
    /*
   * light tint behind text
   */ }

/*
 * Tweak headings/paragraphs inside so spacing matches your other callouts
 */
.pink-note > :first-child {
  margin-top: 0; }

.pink-note > :last-child {
  margin-bottom: 0; }

/*
 * Optional: ensure links are readable on the pink tint
 */
.pink-note a {
  color: #12a7ff; }

.pink-note a:hover {
  text-decoration: underline; }

/*
 * Grey callout for one-line event listings (tiny bit lighter)
 */
.events-grey {
  display: block;
  margin: 0 0 1.25rem;
  padding: 1rem 1.25rem;
  border-radius: 1px;
  background: #eaecf0;
    /*
   * tiny step lighter than #e5e7eb
   */
  color: #111111;
  border-top: 5px solid #73182c;
  border-bottom: 5px solid #73182c; }

.events-grey > :first-child {
  margin-top: 0; }

.events-grey > :last-child {
  margin-bottom: 0; }

.events-grey a {
  color: #12a7ff; }

.events-grey a:hover {
  text-decoration: underline; }

/*
 * Grey callout
 */
/*
 * Grey callout
 */
.grey-note {
  display: block;
  margin: 1rem 0 1rem;
    /*
   * a bit more space below the box
   */
  padding: 0.55rem 1.25rem 0.35rem;
    /*
   * slightly more bottom padding
   */
  border-radius: 1px;
  background: #eaecf0;
  color: #111111;
  border-top: 5px solid #dcdfe6;
    /*
   * slightly darker grey than background
   */
  border-bottom: 5px solid #dcdfe6; }

.grey-note > :last-child {
  margin-bottom: 0.35rem;
    /*
   * prevent extra gap from last child
   */ }

/*
 * Ipswich Insider – Ladder box (blue bleed + yellow border)
 */
/*
 * v2025-10-17
 */
:root {
  --ii-bleed: #12a7ff;
    /*
   * blue band
   */
  --ii-border: #ffdd2c;
    /*
   * yellow border
   */
  --ii-on-bleed: white;
    /*
   * text on blue
   */
  --ii-card-text: #111111;
    /*
   * text inside white box
   */
  --ii-radius: 12px;
    /*
   * soft corner
   */ }

/*
 * Full-width ladder band (uses your existing .bleed wrapper)
 */
.ladder-bleed {
  background: var(--ii-bleed);
  color: var(--ii-on-bleed);
  padding: 24px 0; }

/*
 * Keep content centered inside the band
 */
.ladder-bleed .wrap {
  max-width: 810px;
  margin: 0 auto;
  padding: 0 16px; }

/*
 * Ladder content box: yellow border, soft corners, optional soft shadow
 */
.ladder-border {
  border: 5px solid var(--ii-border);
    /*
   * yellow
   */
  background: white;
  color: var(--ii-card-text);
  padding: 16px 18px;
  border-radius: var(--ii-radius);
  display: block;
  box-sizing: border-box;
    /*
   * Subtle depth; delete this line if you want it totally flat
   */
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08); }

/*
 * Ipswich Insider – Coffee ladder (latte bleed + crema border)
 */
/*
 * v2025-10-18
 */
:root {
  --coffee-bleed: #c7a17a;
    /*
   * latte
   */
  --coffee-border: #eed6a3;
    /*
   * crema
   */
  --coffee-on-bleed: #111111;
    /*
   * dark text on light band
   */
  --coffee-text: #111111;
    /*
   * text inside white box
   */
  --ladder-radius: 12px;
    /*
   * soft corner
   */ }

/*
 * Use with your existing .bleed wrapper
 */
.ladder-bleed--coffee {
  background: var(--coffee-bleed);
  color: var(--coffee-on-bleed);
  padding: 24px 0; }

/*
 * Coffee border box
 */
.ladder-border--coffee {
  border: 5px solid var(--coffee-border);
  background: white;
  color: var(--coffee-text);
  padding: 16px 18px;
  border-radius: var(--ladder-radius);
  display: block;
  box-sizing: border-box;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08); }

/*
 * Small utilities (if you haven’t added them yet)
 */
.list-left li {
  text-align: left; }

.section-arrow {
  font-size: 80px;
  line-height: 0.7;
  text-align: center;
  color: #111111;
  margin: -10px 0 35px 0; }

/*
 * Ipswich Insider – Playgrounds ladder (green bleed + yellow border)
 */
/*
 * v2025-10-18
 */
:root {
  --play-bleed: #046a02;
    /*
   * deep park green
   */
  --play-border: #ffdd2c;
    /*
   * playful yellow
   */
  --play-on-bleed: white;
    /*
   * text on green band
   */
  --play-text: #111111;
    /*
   * text inside white box
   */
  --ladder-radius: 12px;
    /*
   * soft corner to keep it friendly
   */ }

/*
 * Use with your existing .bleed wrapper
 */
.ladder-bleed--playgrounds {
  background: var(--play-bleed);
  color: var(--play-on-bleed);
  padding: 24px 0;
  position: relative; }

/*
 * Keep content centered inside the band (safe if you don't already have this)
 */
.ladder-bleed--playgrounds .wrap {
  max-width: 810px;
  margin: 0 auto;
  padding: 0 16px; }

/*
 * Ladder content box: yellow border, soft corners, subtle depth
 */
.ladder-border--playgrounds {
  border: 5px solid var(--play-border);
  background: white;
  color: var(--play-text);
  padding: 16px 18px;
  border-radius: var(--ladder-radius);
  display: block;
  box-sizing: border-box;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08); }

/*
 * Tiny utility to left-align list items (removes inline styles)
 */
.list-left li {
  text-align: left; }

.section-arrow {
  font-size: 80px;
  line-height: 0.7;
  text-align: center;
  color: #111111;
  margin: -10px 0 35px 0; }

/*
 * Optional: ultra-subtle 'grass' texture on the green band. Add is-grass to the bleed if desired.
 */
.ladder-bleed--playgrounds.is-grass::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.06) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.06) 50%, rgba(255, 255, 255, 0.06) 75%, transparent 75%, transparent);
  background-size: 12px 12px;
  pointer-events: none; }

/*
 * Verdict header + pill
 */
.verdict-header {
  text-align: center;
  margin: 0 0 10px; }

.verdict-lead {
  font-weight: 800;
  font-size: 28px;
  line-height: 1.15;
  margin-bottom: 6px; }

.verdict-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 9999px;
  font-weight: 800;
  font-size: 28px;
  line-height: 1;
  border: 2px solid transparent;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.25);
  letter-spacing: 0.2px; }

/*
 * Variants (your colours)
 */
.verdict-pill.v-amazing {
  background: #73182c;
  color: white;
  border-color: #73182c; }

/*
 * 🔥 Amazing
 */
.verdict-pill.v-great {
  background: #046a02;
  color: white;
  border-color: #046a02; }

/*
 * 👍 Great
 */
.verdict-pill.v-okay {
  background: #12a7ff;
  color: #111111;
  border-color: #12a7ff; }

/*
 * 😐 Okay
 */
.verdict-pill.v-poor {
  background: #ff5757;
  color: #111111;
  border-color: #ff5757; }

/*
 * 👎 Poor
 */
.verdict-pill.v-skip {
  background: black;
  color: white;
  border-color: black; }

/*
 * 🚫 Skip
 */
@media (max-width:480px) {
  .verdict-lead {
    font-size: 20px; }

  .verdict-pill {
    font-size: 22px;
    padding: 10px 14px; } }

/*
 * Readability: make h3/h4 exactly the body text measure
 */
body.readability .text .post_content {
  --content-width: 644px;
    /*
   * Focus/Thesis column
   */ }

/*
 * paragraphs + subheads share the same measure
 */
body.readability .text .post_content > p,
body.readability .text .post_content > h3,
body.readability .text .post_content > h4 {
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto; }

/*
 * stop the early wrap on subheads
 */
body.readability .text .post_content > h3,
body.readability .text .post_content > h4 {
  text-wrap: normal;
    /*
   * undo balance
   */
  width: auto !important;
  padding-inline: 0;
    /*
   * neutralise theme padding
   */
  word-break: normal; }

/*
 * keep balance only for the big H1 if you like that look
 */
body.readability .text .post_content > h1 {
  text-wrap: balance; }

/*
 * For acronyms on commercial property sales page
 */
.i-tip {
  display: inline-block;
  position: relative;
  margin-left: 0.3em;
  cursor: pointer;
  width: 1.1em;
  height: 1.1em;
  line-height: 1.1em;
  text-align: center;
  border: 1px solid #999999;
  border-radius: 50%;
  font-weight: 700;
  font-size: 0.8em;
  font-family: inherit;
  user-select: none; }

.i-tip:focus {
  outline: 2px solid #3aa0ff;
  outline-offset: 2px; }

.i-tip::after {
  content: attr(data-tip);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 135%;
  min-width: 180px;
  max-width: 280px;
  white-space: normal;
  background: #111111;
  color: white;
  font-size: 0.85em;
  line-height: 1.25;
  padding: 0.5em 0.6em;
  border-radius: 0.5em;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  opacity: 0;
  pointer-events: none;
  transition: 0.15s;
  z-index: 9999; }

.i-tip::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 120%;
  border: 6px solid transparent;
  border-top-color: #111111;
  opacity: 0;
  transition: 0.15s; }

.i-tip:hover::after,
.i-tip:hover::before,
.i-tip:focus::after,
.i-tip:focus::before {
  opacity: 1; }

/*
 * optional: underline acronyms for a native fallback tooltip
 */
abbr.has-tip {
  text-decoration: underline dotted;
  text-underline-offset: 0.15em; }

/*
 * For the trivia vault page
 */
details.trivia-reveal {
  margin: 12px 0 0; }

details.trivia-reveal summary {
  cursor: pointer;
  display: inline-block;
  padding: 10px 14px;
  border-radius: 10px;
  border: 2px solid #111111;
  background: white;
  list-style: none; }

details.trivia-reveal summary::-webkit-details-marker {
  display: none; }

details.trivia-reveal[open] summary {
  opacity: 0.85; }