/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 600;
    line-height: 1.2;
    color: #000000;
}

h1.font-body {
    font-family: "Cal Sans", "Montserrat", sans-serif;
    font-weight: 400;
    font-size: 5rem;
    font-style: normal;
    letter-spacing: 0.2rem;
}

#slider .emphasis-title h1 {
    font-size: 5rem;
}

h4.font-body {
    color: #ffffff;
    font-weight: 100;
}

.headline-copy {
    font-weight: 500;
    font-size: 1.25rem;
    max-width: var(--cnvs-heading-block-center-container);
    margin-left: auto;
    margin-right: auto;
    font-family: 'Montserrat';
}

.headline-white-copy {
    color: white;
    font-weight: 400;
    font-size: 1.25rem;
    max-width: var(--cnvs-heading-block-center-container);
    margin-left: auto;
    margin-right: auto;
}

.promo-border {
    border-radius: 10px;
}

.promo-dark {
    border-radius: 5px;
    background-color: #001c30;
}

.promo-mini h3, .promo-mini .h3 {
    font-size: 1.5rem;
    font-family: 'Montserrat';
    font-weight: 600;
}

.vertical-center-img {
    display: flex;
    align-items: center;
    justify-content: center; /* Optional: centers horizontally */
    height: 100%; /* Ensure the parent has a defined height */
}


.is-expanded-menu #header.transparent-header:not(.sticky-header) #header-wrap {
    z-index: 299;
    border-bottom: 0px;
    border-bottom-width: 0px;
    border-bottom-style: 0px;
    border-bottom-color: 0px;
}


#header-wrap > .container.logo-header {
    border-bottom: 0px;
}

.img-pad-top {
    padding-top: 63px;
}

.button.button-border.button-light.cta-btn {
    color: #4caf50;
    background-color: #ffffff;
    border-color: #4caf50;
    border-width: medium;
}

.button.button-border {
    --cnvs-btn-border-color: var(--cnvs-btn-color-dark);
    border: var(--cnvs-btn-border-width) solid var(--cnvs-btn-border-color);
    background: transparent;
    color: var(--cnvs-btn-border-color);
}

.button.button-border.button-light.cta-btn:hover {
    color: #ffffff;
    background-color: #4caf50;
    border-color: #ffffff;
    border-width: medium;
}

.button.button-border:not(.button-fill):hover {
    background-color: var(--cnvs-btn-color);
    color: #fff;
    border-color: white !important;
    border-width: medium;
}

.button.button-border:not(.button-fill):hover {
    background-color: var(--cnvs-btn-color);
    color: #fff;
    border-color: white;
    border-width: medium;
}

img.logo-default {
    height: auto;
    width: 10.25rem;
}

#demo-interior-tab.nav-tabs .nav-item .nav-link {
    position: relative;
    font-size: 16px;
    font-weight: 400;
    padding: 0 0 20px 0;
    color: #201f1f;
}

#demo-interior-tab.nav-tabs .nav-item .nav-link.active {
    top: 0;
    font-weight: 600;
}

#demo-interior-tab.nav-tabs {
    --bs-nav-tabs-border-width: 1px;
    --bs-nav-link-color: #111;
    --bs-nav-link-hover-color: #a6d7a8;
}

a.button.text-button {
    color: #156818;
    background: #f1f6f1;
}

.menu-item:hover > .menu-link {
    color: #4caf50;
}

.cal-sans-regular {
  font-family: "Cal Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

:root {
  --green-700: #2E7D32;   /* Deep action green */
  --green-200: #d5e9d6;   /* Fresh start green */
  --gray-50:  #F5F5F5;    /* Neutral resolution */
  --text-dark: #1F2937;   /* Headline/body on light bg */
  --text-mid:  #374151;   /* Body on very light bg */
  --white:     #FFFFFF;
  --text-on-green: #E8F5E9; /* Softer white for body on deep green */
}

/* BEFORE (Move-In) */
.before-col .promo {
  background: var(--green-200) !important;
  color: var(--text-dark) !important;
}
.before-col h3 { 
    color: var(--text-dark) !important;
    font-family: 'Montserrat';
    font-weight: 500;
 }
.before-col .headline-white-copy { color: var(--text-dark) !important; }

/* COMPARE (Action moment) */
.compare-col .promo {
  background: var(--green-700) !important;
  color: var(--white) !important;
}
.compare-col h3 { 
    color: var(--white) !important;
    font-family: 'Montserrat';
    font-weight: 500;
}

.compare-col h5
 {
    font-family: 'Montserrat';
    font-weight: 400;
}

.compare-col .headline-white-copy { color: var(--text-on-green) !important; }

/* AFTER (Move-Out) */
.after-col .promo {
  background: var(--gray-50) !important;
  color: var(--text-mid) !important;
}
.after-col h3 { color: var(--text-dark) !important; }
.after-col .headline-white-copy { color: var(--text-mid) !important; }

/* Optional: tighten spacing for short blocks */
.promo .headline-white-copy { 
    margin-top: 0.5rem; 
    line-height: 1.5;
    font-family: 'Montserrat';     
    font-size: 1rem;
}

/* Primary Launch CTA */
.cta-btn-launch {
  background-color: #2E7D32;   /* Deep green (brand primary) */
  color: #FFFFFF !important;   /* White text for contrast */
  border: none;
  border-radius: 6px;
  padding: 14px 32px;
  font-size: 1.1rem;
  font-weight: 600;
  transition: background-color 0.3s ease, transform 0.15s ease;
}

/* Hover / Active */
.cta-btn-launch:hover {
  background-color: #256428;   /* Darker green on hover */
  transform: translateY(-2px); /* Subtle lift effect */
}

.cta-btn-launch:active {
  background-color: #1b4d1f;   /* Even darker green on click */
  transform: translateY(0);    /* Reset lift */
}


.highlight-in {
  color: #2E7D32; /* Deep green for 'In' */
  font-weight: 700;
  border-bottom: 2px solid #2E7D32; /* Optional underline */
  padding-bottom: 2px;
}

.highlight-out {
  color: #2E7D32; /* Red accent for 'Out' */
  font-weight: 700;
  border-bottom: 2px solid #2E7D32; /* Optional underline */
  padding-bottom: 2px;
}

h3 > span:not(.nocolor):not(.badge)
 {
    color: #2E7D32;
}

.heading-block h2, .heading-block .h2 {
    font-size: var(--cnvs-heading-block-font-size-h2);
    font-family: 'Montserrat';
    font-weight: 500;
    font-size: 2.5rem;
}

span.green-text {
    color: #2e7d32;
    font-weight: 800;
}

h1 > span:not(.nocolor):not(.badge), .h1 > span:not(.nocolor):not(.badge), h2 > span:not(.nocolor):not(.badge), .h2 > span:not(.nocolor):not(.badge), h3 > span:not(.nocolor):not(.badge), .h3 > span:not(.nocolor):not(.badge), h4 > span:not(.nocolor):not(.badge), .h4 > span:not(.nocolor):not(.badge), h5 > span:not(.nocolor):not(.badge), .h5 > span:not(.nocolor):not(.badge), h6 > span:not(.nocolor):not(.badge), .h6 > span:not(.nocolor):not(.badge) {
    color: #2e7d32;
}


.libutton {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 7px;
    text-align: center;
    outline: none;
    text-decoration: none !important;
    color: #ffffff !important;
    width: 200px;
    height: 32px;
    border-radius: 16px;
    background-color: #0A66C2;
    font-family: "SF Pro Text", Helvetica, sans-serif;
}