.elementor-514 .elementor-element.elementor-element-0f2de06 > .elementor-container{max-width:1160px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-514 .elementor-element.elementor-element-2a08335{text-align:center;}.elementor-514 .elementor-element.elementor-element-2a08335 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:53px;font-weight:600;color:#18324A;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-514 .elementor-element.elementor-element-7dcc886{text-align:center;}.elementor-514 .elementor-element.elementor-element-7dcc886 img{border-style:solid;border-radius:20px 20px 20px 20px;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-514 .elementor-element.elementor-element-58cfcf4{text-align:start;color:#000000;}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-post__excerpt p{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-514 .elementor-element.elementor-element-dc03512{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-514 .elementor-element.elementor-element-dc03512 .elementor-post__thumbnail__link{width:100%;}.elementor-514 .elementor-element.elementor-element-dc03512 .elementor-post__meta-data span + span:before{content:"•";}.elementor-514 .elementor-element.elementor-element-dc03512 .elementor-post__text{margin-top:20px;}@media(max-width:767px){.elementor-514 .elementor-element.elementor-element-dc03512 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-514 .elementor-element.elementor-element-dc03512:after{content:"0.5";}.elementor-514 .elementor-element.elementor-element-dc03512 .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS for theme-post-content, class: .elementor-element-58cfcf4 *//* =========================================================
   RIVERTON BLOG CONTENT SYSTEM
   Responsive: Desktop / Tablet / Mobile
   Elementor Single Post Template
   Scope: .rv-blog-content
   ========================================================= */

.rv-blog-content {
  /* -----------------------------------------
     Riverton Brand Tokens
     ----------------------------------------- */

  --rv-navy: #18324A;
  --rv-blue: #2F6F95;
  --rv-mist: #E8F0F3;
  --rv-ink: #17212B;
  --rv-slate: #536271;
  --rv-border: #D8E0E6;
  --rv-cloud: #F5F7F8;
  --rv-white: #FFFFFF;

  /* -----------------------------------------
     Content System
     ----------------------------------------- */

  --rv-content-width: 820px;
  --rv-body-size: 17px;
  --rv-body-line: 1.72;

  color: var(--rv-ink);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;

  font-size: var(--rv-body-size);
  font-weight: 400;
  line-height: var(--rv-body-line);

  width: 100%;
  max-width: var(--rv-content-width);

  margin-left: auto;
  margin-right: auto;

  overflow-wrap: break-word;
  word-wrap: break-word;
}


/* =========================================================
   BOX SIZING
   ========================================================= */

.rv-blog-content *,
.rv-blog-content *::before,
.rv-blog-content *::after {
  box-sizing: border-box;
}


/* =========================================================
   PARAGRAPHS
   ========================================================= */

.rv-blog-content p {
  margin: 0 0 22px;
  color: var(--rv-ink);
}

.rv-blog-content p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.rv-blog-content h2,
.rv-blog-content h3,
.rv-blog-content h4 {
  color: var(--rv-navy);
  font-family: inherit;
  font-weight: 600;
  letter-spacing: -0.02em;
  overflow-wrap: normal;
  text-wrap: balance;
}

.rv-blog-content h2 {
  font-size: clamp(30px, 3.2vw, 38px);
  line-height: 1.18;
  margin: 58px 0 20px;
}

.rv-blog-content h3 {
  font-size: clamp(23px, 2.5vw, 28px);
  line-height: 1.25;
  margin: 44px 0 16px;
}

.rv-blog-content h4 {
  font-size: clamp(19px, 2vw, 22px);
  line-height: 1.3;
  margin: 34px 0 12px;
}

.rv-blog-content h2:first-child,
.rv-blog-content h3:first-child,
.rv-blog-content h4:first-child {
  margin-top: 0;
}


/* =========================================================
   LEAD / INTRO
   ========================================================= */

.rv-blog-content .rv-lead {
  color: var(--rv-slate);
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.6;
  margin-bottom: 32px;
}


/* =========================================================
   LINKS
   ========================================================= */

.rv-blog-content a {
  color: var(--rv-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.rv-blog-content a:hover {
  color: var(--rv-navy);
}

.rv-blog-content a:focus-visible {
  outline: 2px solid var(--rv-blue);
  outline-offset: 3px;
  border-radius: 2px;
}


/* =========================================================
   LISTS
   ========================================================= */

.rv-blog-content ul,
.rv-blog-content ol {
  margin: 0 0 24px;
  padding-left: 28px;
}

.rv-blog-content li {
  margin-bottom: 9px;
  padding-left: 5px;
}

.rv-blog-content li:last-child {
  margin-bottom: 0;
}

.rv-blog-content ul ul,
.rv-blog-content ul ol,
.rv-blog-content ol ul,
.rv-blog-content ol ol {
  margin-top: 10px;
  margin-bottom: 10px;
}


/* =========================================================
   TEXT EMPHASIS
   ========================================================= */

.rv-blog-content strong {
  color: var(--rv-navy);
  font-weight: 600;
}

.rv-blog-content em {
  color: var(--rv-slate);
}


/* =========================================================
   BLOCKQUOTES
   ========================================================= */

.rv-blog-content blockquote {
  margin: 38px 0;
  padding: 25px 30px;

  border-left: 4px solid var(--rv-blue);
  background: var(--rv-mist);

  color: var(--rv-navy);
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.6;
}

.rv-blog-content blockquote p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   IMAGES
   ========================================================= */

.rv-blog-content img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.rv-blog-content figure {
  width: 100%;
  margin: 40px 0;
}

.rv-blog-content figure img {
  width: 100%;
}

.rv-blog-content figcaption,
.rv-blog-content .rv-caption {
  margin-top: 11px;

  color: var(--rv-slate);
  font-size: 14px;
  line-height: 1.5;

  text-align: center;
}


/* =========================================================
   HORIZONTAL DIVIDER
   ========================================================= */

.rv-blog-content hr,
.rv-blog-content .rv-divider {
  height: 1px;
  margin: 50px 0;

  border: 0;
  background: var(--rv-border);
}


/* =========================================================
   TABLES
   ========================================================= */

.rv-blog-content .rv-table-wrap {
  width: 100%;
  margin: 38px 0;

  overflow-x: auto;
  overflow-y: hidden;

  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.rv-blog-content table,
.rv-blog-content .rv-table {
  width: 100%;
  min-width: 600px;

  border-collapse: collapse;

  background: var(--rv-white);
  border: 1px solid var(--rv-border);

  font-size: 15px;
  line-height: 1.5;
}

.rv-blog-content th,
.rv-blog-content td {
  padding: 14px 16px;

  border: 1px solid var(--rv-border);

  text-align: left;
  vertical-align: top;
}

.rv-blog-content th {
  background: var(--rv-cloud);
  color: var(--rv-navy);
  font-weight: 600;
}

.rv-blog-content tr:nth-child(even) td {
  background: #FAFBFC;
}


/* =========================================================
   CALLOUTS
   ========================================================= */

.rv-blog-content .rv-callout {
  margin: 38px 0;
  padding: 25px 28px;

  border: 1px solid var(--rv-border);
  border-radius: 10px;

  background: var(--rv-cloud);
}

.rv-blog-content .rv-callout--mist {
  background: var(--rv-mist);
  border-color: #D3E1E7;
}

.rv-blog-content .rv-callout h2,
.rv-blog-content .rv-callout h3,
.rv-blog-content .rv-callout h4 {
  margin-top: 0;
}

.rv-blog-content .rv-callout p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   CHECKLIST
   ========================================================= */

.rv-blog-content .rv-checklist {
  margin: 34px 0;
  padding: 25px 28px;

  border: 1px solid var(--rv-border);
  border-radius: 10px;

  background: var(--rv-white);
}

.rv-blog-content .rv-checklist ul,
.rv-blog-content .rv-checklist ol {
  margin-bottom: 0;
}


/* =========================================================
   GRIDS
   ========================================================= */

.rv-blog-content .rv-grid {
  display: grid;
  gap: 22px;
  width: 100%;
  margin: 34px 0;
}

.rv-blog-content .rv-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rv-blog-content .rv-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* =========================================================
   CARDS
   ========================================================= */

.rv-blog-content .rv-card {
  min-width: 0;
  padding: 26px;

  border: 1px solid var(--rv-border);
  border-radius: 10px;

  background: var(--rv-white);
}

.rv-blog-content .rv-card--mist {
  background: var(--rv-mist);
}

.rv-blog-content .rv-card--cloud {
  background: var(--rv-cloud);
}

.rv-blog-content .rv-card--shadow {
  box-shadow: 0 8px 24px rgba(24, 50, 74, 0.07);
}

.rv-blog-content .rv-card h2,
.rv-blog-content .rv-card h3,
.rv-blog-content .rv-card h4 {
  margin-top: 0;
}

.rv-blog-content .rv-card p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   PANELS
   ========================================================= */

.rv-blog-content .rv-panel {
  min-width: 0;
  padding: 30px;

  border: 1px solid var(--rv-border);
  border-radius: 10px;

  background: var(--rv-white);
}

.rv-blog-content .rv-panel--mist {
  background: var(--rv-mist);
}

.rv-blog-content .rv-panel--white {
  background: var(--rv-white);
}

.rv-blog-content .rv-panel--navy {
  background: var(--rv-navy);
  border-color: var(--rv-navy);
  color: var(--rv-white);
}

.rv-blog-content .rv-panel--navy h2,
.rv-blog-content .rv-panel--navy h3,
.rv-blog-content .rv-panel--navy h4,
.rv-blog-content .rv-panel--navy p {
  color: var(--rv-white);
}


/* =========================================================
   FAQ
   ========================================================= */

.rv-blog-content .rv-faq {
  width: 100%;
  margin: 34px 0;

  border-top: 1px solid var(--rv-border);
}

.rv-blog-content .rv-faq-item {
  padding: 22px 0;
  border-bottom: 1px solid var(--rv-border);
}

.rv-blog-content .rv-faq-item h3,
.rv-blog-content .rv-faq-item h4 {
  margin: 0 0 10px;
  font-size: 20px;
}

.rv-blog-content .rv-faq-answer p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   QUOTES
   ========================================================= */

.rv-blog-content .rv-quote {
  margin: 38px 0;
  padding: 28px 30px;

  border: 1px solid var(--rv-border);
  border-radius: 10px;

  background: var(--rv-cloud);

  color: var(--rv-navy);
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.55;
}


/* =========================================================
   CODE
   ========================================================= */

.rv-blog-content code {
  padding: 2px 6px;

  border-radius: 4px;

  background: var(--rv-cloud);
  color: var(--rv-navy);

  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", monospace;

  font-size: 0.9em;
}

.rv-blog-content pre {
  width: 100%;
  margin: 34px 0;
  padding: 22px 24px;

  overflow-x: auto;

  border: 1px solid var(--rv-border);
  border-radius: 10px;

  background: var(--rv-navy);
  color: var(--rv-white);

  font-size: 14px;
  line-height: 1.6;

  -webkit-overflow-scrolling: touch;
}

.rv-blog-content pre code {
  padding: 0;
  background: transparent;
  color: inherit;
}


/* =========================================================
   CTA
   ========================================================= */

.rv-blog-content .rv-cta {
  width: 100%;
  margin: 58px 0 0;
  padding: 40px;

  border-radius: 12px;

  background: var(--rv-navy);
  color: var(--rv-white);

  text-align: center;
}

.rv-blog-content .rv-cta h2,
.rv-blog-content .rv-cta h3,
.rv-blog-content .rv-cta h4,
.rv-blog-content .rv-cta p {
  color: var(--rv-white);
}

.rv-blog-content .rv-cta p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.rv-blog-content .rv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.rv-blog-content .rv-button,
.rv-blog-content .rv-button-secondary {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 46px;
  padding: 11px 19px;

  border: 1px solid var(--rv-navy);
  border-radius: 8px;

  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;

  text-decoration: none;

  cursor: pointer;
}

.rv-blog-content .rv-button {
  background: var(--rv-navy);
  color: var(--rv-white);
}

.rv-blog-content .rv-button:hover {
  background: var(--rv-blue);
  border-color: var(--rv-blue);
  color: var(--rv-white);
}

.rv-blog-content .rv-button-secondary {
  background: var(--rv-white);
  color: var(--rv-navy);
}

.rv-blog-content .rv-button-secondary:hover {
  background: var(--rv-mist);
  color: var(--rv-navy);
}


/* =========================================================
   BADGES
   ========================================================= */

.rv-blog-content .rv-badge {
  display: inline-block;

  padding: 5px 9px;

  border: 1px solid var(--rv-border);
  border-radius: 6px;

  background: var(--rv-cloud);
  color: var(--rv-navy);

  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

.rv-blog-content .rv-badge-success {
  color: #287A57;
}

.rv-blog-content .rv-badge-warning {
  color: #8A5900;
}

.rv-blog-content .rv-badge-error {
  color: #B64040;
}


/* =========================================================
   MEDIA
   ========================================================= */

.rv-blog-content .rv-media {
  width: 100%;
  margin: 42px 0;
}

.rv-blog-content .rv-product-frame {
  padding: 10px;

  border: 1px solid var(--rv-border);
  border-radius: 12px;

  background: var(--rv-white);

  box-shadow: 0 8px 24px rgba(24, 50, 74, 0.07);
}

.rv-blog-content .rv-product-frame img {
  width: 100%;
  border-radius: 7px;
}


/* =========================================================
   TABLET
   768px - 1024px
   ========================================================= */

@media (max-width: 1024px) {

  .rv-blog-content {
    max-width: 820px;
    padding-left: 28px;
    padding-right: 28px;
  }

  .rv-blog-content h2 {
    margin-top: 52px;
  }

  .rv-blog-content h3 {
    margin-top: 40px;
  }

  .rv-blog-content .rv-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* =========================================================
   MOBILE
   Below 767px
   ========================================================= */

@media (max-width: 767px) {

  .rv-blog-content {
    max-width: 100%;

    padding-left: 18px;
    padding-right: 18px;

    font-size: 16px;
    line-height: 1.68;
  }

  .rv-blog-content p {
    margin-bottom: 20px;
  }

  .rv-blog-content h2 {
    font-size: 30px;
    line-height: 1.2;
    margin-top: 44px;
    margin-bottom: 17px;
  }

  .rv-blog-content h3 {
    font-size: 23px;
    line-height: 1.25;
    margin-top: 36px;
    margin-bottom: 14px;
  }

  .rv-blog-content h4 {
    font-size: 19px;
    line-height: 1.3;
    margin-top: 30px;
  }

  .rv-blog-content .rv-lead {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 28px;
  }

  .rv-blog-content ul,
  .rv-blog-content ol {
    padding-left: 23px;
    margin-bottom: 22px;
  }

  .rv-blog-content li {
    padding-left: 3px;
    margin-bottom: 8px;
  }

  .rv-blog-content blockquote {
    margin: 32px 0;
    padding: 20px 20px;
    font-size: 17px;
  }

  .rv-blog-content figure {
    margin: 32px 0;
  }

  .rv-blog-content figcaption,
  .rv-blog-content .rv-caption {
    font-size: 13px;
  }

  .rv-blog-content hr,
  .rv-blog-content .rv-divider {
    margin: 40px 0;
  }

  .rv-blog-content .rv-grid-2,
  .rv-blog-content .rv-grid-3 {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .rv-blog-content .rv-card {
    padding: 21px;
  }

  .rv-blog-content .rv-panel {
    padding: 22px;
  }

  .rv-blog-content .rv-callout,
  .rv-blog-content .rv-checklist {
    padding: 21px;
  }

  .rv-blog-content .rv-quote {
    margin: 32px 0;
    padding: 22px;
    font-size: 18px;
  }

  .rv-blog-content .rv-cta {
    margin-top: 46px;
    padding: 30px 20px;
  }

  .rv-blog-content .rv-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .rv-blog-content .rv-button,
  .rv-blog-content .rv-button-secondary {
    width: 100%;
    min-height: 48px;
  }

  .rv-blog-content .rv-table-wrap {
    margin: 30px -18px;
    width: calc(100% + 36px);
    padding: 0 18px;
  }

  .rv-blog-content table,
  .rv-blog-content .rv-table {
    min-width: 580px;
  }

  .rv-blog-content th,
  .rv-blog-content td {
    padding: 11px 12px;
  }

  .rv-blog-content pre {
    margin-left: -2px;
    margin-right: -2px;
    padding: 18px;
    font-size: 13px;
  }
}


/* =========================================================
   SMALL PHONES
   Below 480px
   ========================================================= */

@media (max-width: 480px) {

  .rv-blog-content {
    padding-left: 16px;
    padding-right: 16px;
  }

  .rv-blog-content h2 {
    font-size: 28px;
  }

  .rv-blog-content h3 {
    font-size: 22px;
  }

  .rv-blog-content h4 {
    font-size: 18px;
  }

  .rv-blog-content .rv-lead {
    font-size: 17px;
  }

  .rv-blog-content .rv-card,
  .rv-blog-content .rv-panel,
  .rv-blog-content .rv-callout,
  .rv-blog-content .rv-checklist {
    padding: 19px;
  }

  .rv-blog-content .rv-cta {
    padding: 26px 18px;
  }

  .rv-blog-content .rv-table-wrap {
    margin-left: -16px;
    margin-right: -16px;
    width: calc(100% + 32px);
    padding-left: 16px;
    padding-right: 16px;
  }
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.rv-blog-content a:focus-visible,
.rv-blog-content button:focus-visible,
.rv-blog-content .rv-button:focus-visible,
.rv-blog-content .rv-button-secondary:focus-visible {
  outline: 2px solid var(--rv-blue);
  outline-offset: 3px;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .rv-blog-content a,
  .rv-blog-content .rv-button,
  .rv-blog-content .rv-button-secondary {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for posts, class: .elementor-element-dc03512 *//* =========================================================
   RIVERTON RELATED POSTS
   Elementor Posts Widget
   Class: rv-related-posts
   ========================================================= */

.rv-related-posts {
    width: 100%;
}

/* ---------------------------------------------------------
   GRID
   --------------------------------------------------------- */

.rv-related-posts .elementor-posts-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

.rv-related-posts .elementor-post {
    display: flex;
    flex-direction: column;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;

    background: #ffffff;
    border: 1px solid #d8e0e6;
    border-radius: 12px;

    box-shadow: 0 2px 8px rgba(23, 33, 43, 0.04);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

/* Card hover */

.rv-related-posts .elementor-post:hover {
    transform: translateY(-3px);

    border-color: #c8d2da;

    box-shadow:
        0 10px 28px rgba(23, 33, 43, 0.09);
}


/* ---------------------------------------------------------
   IMAGE
   --------------------------------------------------------- */

/* Image wrapper */

.rv-related-posts .elementor-post__thumbnail__link {
    display: block;

    width: 100%;
    height: auto;

    margin: 0 !important;

    overflow: hidden;

    background: #f3f5f6;

    aspect-ratio: 16 / 9;
}

/* Elementor image container */

.rv-related-posts .elementor-post__thumbnail {
    width: 100%;
    height: 100%;

    margin: 0 !important;

    overflow: hidden;
}

/* Actual image */

.rv-related-posts .elementor-post__thumbnail img {
    display: block;

    width: 100%;
    height: 100%;

    max-width: none;

    object-fit: cover;
    object-position: center;

    transition: transform 0.3s ease;
}

/* Image hover */

.rv-related-posts .elementor-post:hover
.elementor-post__thumbnail img {
    transform: scale(1.025);
}


/* ---------------------------------------------------------
   CONTENT AREA
   --------------------------------------------------------- */

.rv-related-post .elementor-post__text,
.rv-related-posts .elementor-post__text {
    display: flex;
    flex-direction: column;

    flex: 1;

    padding: 24px 26px 26px;
}


/* ---------------------------------------------------------
   TITLE
   --------------------------------------------------------- */

.rv-related-posts .elementor-post__title {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Inter", sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;

    letter-spacing: -0.015em !important;

    color: #17212b;
}

/* Title link */

.rv-related-posts .elementor-post__title a {
    color: inherit !important;

    text-decoration: none !important;
}

/* Title hover */

.rv-related-posts .elementor-post:hover
.elementor-post__title a {
    color: #17212b !important;
}


/* ---------------------------------------------------------
   EXCERPT
   --------------------------------------------------------- */

.rv-related-posts .elementor-post__excerpt {
    margin: 12px 0 0 !important;

    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;

    color: #596773;
}


/* ---------------------------------------------------------
   READ MORE
   --------------------------------------------------------- */

.rv-related-posts .elementor-post__read-more {
    display: inline-block;

    margin-top: 18px !important;

    font-family: "Inter", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4;

    color: #17212b !important;

    text-decoration: none !important;
}


/* ---------------------------------------------------------
   POSTS WITHOUT A FEATURED IMAGE
   --------------------------------------------------------- */

/*
   If a post has no image, don't leave an awkward empty area.
   The content simply starts at the top of the card.
*/

.rv-related-posts .elementor-post:not(:has(.elementor-post__thumbnail__link)) {
    padding-top: 0 !important;
}


/* ---------------------------------------------------------
   CONSISTENT CARD HEIGHT
   --------------------------------------------------------- */

.rv-related-posts .elementor-post {
    min-height: 100%;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .rv-related-posts .elementor-posts-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .rv-related-posts .elementor-post__text {
        padding: 22px 24px 24px;
    }

    .rv-related-posts .elementor-post__title {
        font-size: 19px !important;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .rv-related-posts .elementor-posts-container {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .rv-related-posts .elementor-post__text {
        padding: 21px 22px 23px;
    }

    .rv-related-posts .elementor-post__title {
        font-size: 19px !important;
        line-height: 1.4 !important;
    }

    .rv-related-posts .elementor-post__thumbnail__link {
        aspect-ratio: 16 / 9;
    }
}


/* ---------------------------------------------------------
   SMALL PHONES
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .rv-related-posts .elementor-posts-container {
        gap: 16px;
    }

    .rv-related-posts .elementor-post__text {
        padding: 20px;
    }
}


/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .rv-related-posts .elementor-post,
    .rv-related-posts .elementor-post__thumbnail img {
        transition: none;
    }

    .rv-related-posts .elementor-post:hover {
        transform: none;
    }

    .rv-related-posts .elementor-post:hover
    .elementor-post__thumbnail img {
        transform: none;
    }
}/* End custom CSS */