/*=========== TABLE OF CONTENTS ===========
1. CSS Variables
2. Utility CSS
3. Common CSS
==========================================*/

/*-------------------------------------
  1. CSS Variables
--------------------------------------*/
:root {
  /*------Color variables------*/
  --amber_300: #ffce50;
  --amber_500: #fbb90d;
  --amber_600: #fbba00;
  --b_text: #2f2f2f;
  --black_900: #000000;
  --black_900_28: #00000028;
  --blue_100: #cbe7f0;
  --blue_gray_50: #eff2f5;
  --blue_gray_500: #648c87;
  --blue_gray_500_01: #67648c;
  --blue_gray_500_02: #64748c;
  --blue_gray_700: #535353;
  --blue_gray_800: #21445a;
  --cyan_400: #12bde8;
  --cyan_50: #c9fdff;
  --cyan_700: #05a7ab;
  --cyan_700_01: #01a9aa;
  --cyan_800: #1c898a;
  --cyan_900: #005065;
  --cyan_a700: #01a9d4;
  --f_bg_2: #f6f6fa;
  --f_dark_text_opt_1: #262a44;
  --gray_100: #f3f4f5;
  --gray_100_01: #f3f1f1;
  --gray_100_02: #f4f1f1;
  --gray_200: #e7e8ec;
  --gray_200_01: #e8e8e8;
  --gray_300: #dfe1e1;
  --gray_400: #b7b7b7;
  --gray_50: #fbfbfb;
  --gray_500: #979797;
  --gray_500_01: #a1a1a1;
  --gray_50_01: #f6f7fa;
  --gray_50_02: #fcfcfc;
  --gray_600: #848c64;
  --gray_600_01: #8d7f65;
  --gray_600_02: #8c7064;
  --gray_700: #696969;
  --gray_700_01: #646363;
  --gray_800: #4c4949;
  --gray_800_01: #4a4949;
  --gray_900: #1c1b1f;
  --green_100: #ccf0cb;
  --green_100_01: #cdf1c0;
  --green_300: #8ab488;
  --green_800: #177648;
  --indigo_100: #cbcef0;
  --indigo_200: #a39de2;
  --light_blue_800: #0072bb;
  --light_green_500: #94b256;
  --light_green_900: #5f4501;
  --lime_100: #eee0cb;
  --lime_100_01: #e8f0cb;
  --lime_100_02: #f0e1cb;
  --lime_100_03: #e9f0cb;
  --lime_700: #b99859;
  --lime_900: #6d4100;
  --orange_300: #edbe42;
  --teal_100: #c0dfe1;
  --teal_200: #7cc1c6;
  --teal_300: #58a8a7;
  --teal_400: #419d97;
  --teal_400_01: #419d98;
  --teal_400_02: #2bb4b5;
  --teal_400_03: #419d86;
  --teal_50: #ddebed;
  --teal_50_01: #ddeff4;
  --teal_50_02: #dfedf1;
  --teal_50_03: #cfe8ef;
  --teal_50_04: #deeef1;
  --teal_50_05: #e0eef2;
  --teal_50_06: #d8f1f1;
  --teal_600: #0e8283;
  --teal_600_01: #007b7b;
  --teal_700: #007374;
  --teal_700_01: #007474;
  --teal_700_02: #007475;
  --teal_800: #177749;
  --white_a700: #ffffff;
  --white_a700_99: #ffffff99;
  --yellow_700: #f7ba1b;

  /*------Shadow variables------*/
  --shadow-xs: 0 7px 15px 0 #00000028;
  --shadow-sm: 0 6px 14px 0 #00000028;

  /*------Border radius variables------*/
  --radius-xs: 1px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 12px;
  --radius-2xl: 14px;
  --radius-3xl: 16px;
  --radius-4xl: 18px;
  --radius-5xl: 20px;
  --radius-6xl: 26px;
  --radius-7xl: 30px;
  --radius-8xl: 40px;
  --radius-9xl: 50px;
  --radius-10xl: 72px;

  /*------Spacing variables------*/
  --space-xs: 4px;
  --space-sm: 6px;
  --space-md: 8px;
  --space-lg: 10px;
  --space-xl: 12px;
  --space-2xl: 14px;
  --space-3xl: 16px;
  --space-4xl: 20px;
  --space-5xl: 24px;
  --space-6xl: 30px;
  --space-7xl: 32px;
  --space-8xl: 36px;
  --space-9xl: 40px;
  --space-10xl: 42px;
  --space-11xl: 56px;
  --space-12xl: 58px;
  --space-13xl: 74px;
}

/*-------------------------------------
  2. Utility CSS
--------------------------------------*/
.flex-row-center-center {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

/*-------------------------------------
  3. Common CSS
--------------------------------------*/
.f-contact {
  background-color: var(--f_bg_2);
  width: 100%;
}

.f-home {
  background-color: var(--gray_50_01);
  width: 100%;
}

.header {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
  display: flex;
  background-color: var(--white_a700);
  justify-content: center;
  align-items: center;
}

.header__top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4xl);
  @media only screen and (max-width: 1050px) {
    padding-left: var(--space-4xl);
    padding-right: var(--space-4xl);
  }

  @media only screen and (max-width: 550px) {
    flex-direction: column;
  }
}

.header__logo {
  height: 36px;
  width: 116px;
  object-fit: contain;
}

.header__menu {
  margin-right: 110px !important;
  gap: var(--space-5xl);
  display: flex;
  align-items: start;
  @media only screen and (max-width: 550px) {
    flex-direction: column;
    margin-right: 0px;
  }
}

.header__menu-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.header__menu-link {
  color: var(--b_text) !important;
}

.header__menu-icon {
  height: 3px;
  background-color: var(--b_text);
  width: 3px;
  border-radius: var(--radius-xs);
}

.section {
  display: flex;
  justify-content: center;
  position: absolute;
  margin-top: auto;
  margin-bottom: auto;
  left: 0px;
  bottom: 0px;
  right: 0px;
  top: 0px;
  height: max-content;
  @media only screen and (max-width: 1050px) {
    padding-left: var(--space-4xl);
    padding-right: var(--space-4xl);
  }
}

.section__main__stack__column {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
}

.section__main__stack__image {
  height: 170px;
  margin-left: 44px;
  width: 8%;
  object-fit: contain;
  @media only screen and (max-width: 1050px) {
    margin-left: 0px;
  }
}

.section__main__stack__column__stack__image--first {
  height: 244px;
  width: 12%;
  object-fit: contain;
  position: absolute;
  left: 4%;
  top: 0px;
  margin: auto;
}

.section__main__stack__column__stack__image--second {
  height: 154px;
  width: 8%;
  object-fit: contain;
  position: absolute;
  bottom: -1px;
  right: 6%;
  margin: auto;
}

.rewind {
  height: 32px;
  width: 36px;
}

.section__main__stack__column__stack__info__title {
  color: var(--teal_700_02) !important;
  font-family: Jost !important;
}

.footer__social-icon--facebook {
  width: 24px;
  height: 24px;
}

.section__main__stack__column__content__row__chips__item--second {
  color: var(--gray_700_01);
  padding-left: var(--space-3xl);
  padding-right: var(--space-3xl);
  font-size: 14px;
  background-color: var(--white_a700);
  text-align: center;
  cursor: pointer;
  height: 38px;
  min-width: 228px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--teal_50_05);
}

.section__main__stack__column__content__row__chips__item--third {
  color: var(--gray_700_01);
  padding-left: var(--space-3xl);
  padding-right: var(--space-3xl);
  font-size: 14px;
  background-color: var(--white_a700);
  text-align: center;
  cursor: pointer;
  height: 38px;
  min-width: 196px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--teal_50_05);
}

.dhi-group {
  display: none;
}

.dhi-group-3 {
  color: var(--gray_700_01);
  background-color: var(--white_a700);
  border-radius: var(--radius-sm);
  border: 1px solid var(--teal_50_05);
}

.section__main__stack__column__content__row__counter {
  color: var(--gray_800_01) !important;
  font-family: Jost !important;
  align-self: end;
  @media only screen and (max-width: 1050px) {
    align-self: auto;
  }
}

.section__column--nested-duodenary {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.section__aside {
  padding-left: var(--space-11xl);
  padding-right: var(--space-11xl);
  gap: var(--space-11xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  @media only screen and (max-width: 1050px) {
    padding-left: var(--space-4xl);
    padding-right: var(--space-4xl);
  }

  @media only screen and (max-width: 550px) {
    gap: 28px;
  }
}

.section__aside__grid {
  margin-left: 34px;
  width: 96%;
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: center;
  @media only screen and (max-width: 1050px) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: 0px;
  }

  @media only screen and (max-width: 550px) {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.best-practice-info {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.best-practice-info__content {
  gap: var(--space-lg);
  background-color: var(--white_a700);
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-3xl);
  border: 1px solid var(--teal_50);
}

.best-practice-info__header {
  border-top-left-radius: var(--radius-3xl);
  border-top-right-radius: var(--radius-3xl);
  border-left-width: 1px;
  border-right-width: 1px;
  background-color: var(--teal_50_02);
  display: flex;
  justify-content: center;
  padding: var(--space-8xl);
  border-top: 1px solid var(--teal_50);
  @media only screen and (max-width: 550px) {
    padding: var(--space-4xl);
  }
}

.best-practice-info__image {
  height: 78px;
  width: 38%;
  object-fit: contain;
}

.best-practice-info__details {
  margin-bottom: 16px;
  margin-left: 12px;
  margin-right: 12px;
  display: flex;
  flex-direction: column;
  align-items: end;
  @media only screen and (max-width: 1050px) {
    margin-left: 0px;
    margin-right: 0px;
  }
}

.best-practice-info__text-container {
  gap: var(--space-xs);
  z-index: 2;
  display: flex;
  align-self: stretch;
  position: relative;
  flex-direction: column;
  align-items: start;
}

.best-practice-info__title {
  color: var(--black_900) !important;
  font-family: Jost !important;
}

.best-practice-info__description {
  color: var(--gray_800_01) !important;
  font-family: Jost !important;
  font-weight: 300 !important;
  width: 100%;
  line-height: 155%;
}

.learn-more-link-link {
  margin-bottom: 8px;
  margin-right: 20px;
  @media only screen and (max-width: 1050px) {
    margin-right: 0px;
  }
}

.best-practice-info__link {
  color: var(--blue_gray_700) !important;
}

.section__aside__button {
  color: var(--gray_700_01);
  padding-left: 15px;
  padding-right: 15px;
  font-size: 14px;
  background-color: var(--white_a700) !important;
  height: 38px;
  min-width: 102px;
  border-radius: 18px !important;
  border: 1px solid var(--teal_50_05);
}

.save {
  height: 16px;
  margin-top: 4px;
  margin-bottom: 4px;
  width: 16px;
}

.footer__column {
  width: 100%;
}

.stackvectorfift__column--challenge-1 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: start;
}

.section__main__stack__column__stack__info__row__icons__user {
  display: flex;
  align-items: center;
}

.section__title {
  color: var(--white_a700) !important;
  font-family: Jost !important;
}

.footer {
  margin-top: 88px;
  display: flex;
}

.footer__top-row {
  padding-top: 94px;
  padding-bottom: 94px;
  background-color: var(--teal_100);
  display: flex;
  justify-content: center;
  @media only screen and (max-width: 1050px) {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
}

.footer__logo-container {
  padding-left: 96px;
  padding-right: 96px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4xl);
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
    padding-left: var(--space-4xl);
    padding-right: var(--space-4xl);
  }
}

.footer__logo {
  height: 70px;
  width: 18%;
  object-fit: contain;
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }
}

.footer__nav-container {
  margin-right: 6px;
  width: 60%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4xl);
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
    width: 100%;
    margin-right: 0px;
  }
}

.footer__nav-list {
  gap: var(--space-3xl);
  display: flex;
  flex-wrap: wrap;
}

.footer__social-container {
  gap: var(--space-3xl);
  display: flex;
}

.footer__bottom-row {
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
  background-color: var(--gray_50_02);
  display: flex;
  justify-content: center;
}

.footer__info-container {
  margin-top: 6px;
  padding-left: var(--space-4xl);
  padding-right: var(--space-4xl);
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: var(--space-4xl);
  @media only screen and (max-width: 1050px) {
    flex-direction: column;
  }
}

.footer__info-zipcode {
  margin-top: 10px;
  margin-left: 68px;
  gap: var(--space-xs);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  @media only screen and (max-width: 1050px) {
    margin-left: 0px;
  }
}

.footer__copyright-icon {
  height: 16px;
  width: 16px;
}

.terms-link-link {
  margin-top: 10px;
}

.footer__qr-container {
  align-self: center;
  width: 24%;
  display: flex;
  justify-content: space-between;
  gap: var(--space-4xl);
  @media only screen and (max-width: 1050px) {
    width: 100%;
  }
}

.footer__qr-code {
  height: 46px;
  object-fit: cover;
}

.footer__eu-logo {
  height: 46px;
  width: 70%;
  object-fit: contain;
}

/* Mobile responsive changes */
@media only screen and (max-width: 550px) {
  .header__menu {
    flex-direction: column;
    margin-right: 0px;
  }

  .header__top-row {
    padding-left: var(--space-2xl);
    padding-right: var(--space-2xl);
  }

  .section__image {
    height: 100px;
    margin: auto;
  }

  .footer__logo-container {
    flex-direction: column;
    padding-left: var(--space-2xl);
    padding-right: var(--space-2xl);
  }
}

/* Ensure body takes up at least the full viewport height */
html, body {
  height: 100%;
}

/* Ensure the main container grows to accommodate dynamic content */
.columnheader_logo-one {
  min-height: 100vh; /* Ensure the container takes up at least the viewport height */
  display: flex;
  flex-direction: column;
}

/* Flex-grow content area */
.stackvectorfift-2 {
  flex-grow: 1;
}

/* Ensure body and html take up the full viewport height */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* Prevent horizontal scroll on small screens */
}

/* Ensure the main container grows to accommodate dynamic content */
.columnheader_logo-one {
  min-height: 100vh; /* Ensure the container takes up at least the viewport height */
  display: flex;
  flex-direction: column;
}

.stackvectorfift-2 {
  flex-grow: 1;
}

/* Ensure footer sticks to the bottom */
.footer {
  flex-shrink: 0;
  margin-top: auto; /* Ensure footer is at the bottom of the page when content is small */
  width: 100%;
}

/* Chart and content spacing */
.chart-container, .mca-container, .scenarios-container {
  margin-bottom: 50px;
  padding: 0 10%; /* Padding for mobile responsiveness */
}

/* Responsive layout for mobile */
@media (max-width: 768px) {
  /* Reduce padding for small screens */
  .chart-container, .mca-container, .scenarios-container {
    padding: 0 5%; /* Reduce padding for small devices */
    margin-bottom: 30px; /* Adjust spacing */
  }

  /* Ensure the footer does not overlap content */
  .footer {
    position: static;
    bottom: 0;
    width: 100%;
  }

  /* Ensure images in the scenarios section are responsive */
  .scenarios-container img {
    width: 100%; /* Make images responsive */
    margin-bottom: 10px; /* Add some spacing between images */
  }

  /* Ensure the page does not have unnecessary spacing or scrollbars */
  body {
    overflow-x: hidden;
  }
}

