/* projects ext info sqr page reset all margins */
#projects_ext_info_squares_css h1,
#projects_ext_info_squares_css h2,
#projects_ext_info_squares_css h3,
#projects_ext_info_squares_css h4,
#projects_ext_info_squares_css h5,
#projects_ext_info_squares_css h6,
#projects_ext_info_squares_css p,
#projects_ext_info_squares_css a,
#projects_ext_info_squares_css ul {
  margin: 0;
  padding: 0;
}

/* projects ext info sqr page container main */
.projects_ext_info_sqr_container_main {
  display: grid;
  place-items: center;
  width: 100%;
  position: relative;

  scroll-margin-top: calc(var(--variable_spacing_01) * 2.6 );
}

.projects_ext_info_sqr_shadow_container_main {
  display: grid;
  width: 100%;
  height: calc(var(--vh, 1vh) * 175); /* 100% of the actual viewport height */

  position: absolute;
  pointer-events: none;
  top: -80%;
  left: 0;
  overflow: hidden;
  z-index: 0;
  /* border: 1px solid red; */
}

.projects_ext_info_sqr_shadow_container_content {
  display: grid;
  width: 100%;
  height: 50%;
  position: absolute;
  transform: scale(250%);
  top: 30%;
  left: -20%;
  pointer-events: none;
  background: radial-gradient(ellipse at center, var(--variable_shadow_color_03) 0%, transparent 50%);
}

/* projects ext info sqr page container content */
.projects_ext_info_sqr_container_content {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* two equal squares in one row */
  width: calc(100% - 2 * var(--variable_spacing_01));
  border-radius: var(--variable_borderradius_03);
  margin-top: var(--variable_spacing_01);
  margin-bottom: var(--variable_spacing_01);
  gap: var(--variable_spacing_01);
  position: relative;
  z-index: 4;
}

/* projects ext info sqr page square container */
.projects_ext_info_left_square_container,
.projects_ext_info_right_square_container {
  display: grid;
  grid-template-rows: auto 1fr auto; /* 3 rows: title (auto), middle text (1fr), bottom text/button (auto) */
  align-content: start;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--variable_borderradius_03);

  /* background gradient element 02 with border and inner shadow */
  background-color: var(--variable_color_gradient_01_gray_01);
  background-image:
          linear-gradient(205deg,
          var(--variable_color_gradient_01_gray_02) 25%,
          var(--variable_color_gradient_01_gray_03) 75%,
          var(--variable_color_gradient_01_gray_04) 100%);

  box-shadow:
          inset 0 0 10px var(--variable_color_gradient_01_gray_05),
          inset 0 0 0 1px var(--variable_color_gradient_01_gray_06);
}

/* projects ext info sqr page left square top container */
.projects_ext_info_left_square_top_container {
  display: grid;
  align-self: start;
}

/* projects ext info sqr page left square middle container */
.projects_ext_info_left_square_middle_container {
  display: grid;
  align-self: start;
  align-items: center;
  margin: var(--variable_spacing_01);
}

/* projects ext info sqr page left square bottom container */
.projects_ext_info_left_square_bottom_container {
  display: grid;
  align-self: end;
}

/* projects ext info sqr page right square top container */
.projects_ext_info_right_square_top_container {
  display: grid;
  align-self: start;
}

/* projects ext info sqr page right square middle container */
.projects_ext_info_right_square_middle_container {
  display: grid;
  align-self: start;
  grid-template-columns: repeat(2, auto); /* two columns */
  margin: var(--variable_spacing_01);
  row-gap: calc(var(--variable_spacing_01)); /* space between links */
  column-gap: calc(var(--variable_spacing_01) * 2); /* space between links */
  width: fit-content;
}

/* projects ext info sqr page right square bottom container */
.projects_ext_info_right_square_bottom_container {
  display: grid;
  align-self: end;
}

/* projects ext info sqr page icon */
.projects_ext_info_sqr_container_content .projects_ext_info_icon {
  height: calc(var(--variable_spacing_items_01) * 5);
  width: calc(var(--variable_spacing_items_01) * 5);
  filter: brightness(0) invert(1);
  margin: var(--variable_spacing_01);
  cursor: pointer;
}

/* projects ext info sqr page square container h3 */
.projects_ext_info_sqr_container_content h3 {
  align-self: start; /* ensure the title is at the top */
  margin: var(--variable_spacing_01);
}

/* projects ext info sqr page square container p */
.projects_ext_info_sqr_container_content p {
  align-self: start; /* ensure the main text stays at the top */
  margin: 0;
  padding: 0;
}

/* projects ext info sqr page square container h5 */
.projects_ext_info_sqr_container_content h5 {
  align-self: end; /* ensure the main text stays at the top */
  justify-self: start; /* align button to the left */
  margin-bottom: var(--variable_spacing_01);
}

.projects_ext_info_left_square_top_container p {
  margin: var(--variable_spacing_01);
}

/* projects ext info sqr page left square middle container paragraph */
.projects_ext_info_left_square_middle_container p {
  padding-bottom: calc(var(--variable_spacing_01) / 2);
}

/* projects ext info sqr page right square top container paragraph */
.projects_ext_info_right_square_top_container p {
  margin: var(--variable_spacing_01);
}

/* projects ext info sqr page right square middle container */
.projects_ext_info_right_square_middle_container {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: calc(var(--variable_spacing_01)); /* space between links */
  width: fit-content;
  cursor: pointer;
}

/* projects ext info sqr page individual software link styling */
.projects_ext_info_right_square_middle_container a {
  display: grid;
  grid-template-columns: auto 1fr; /* icon and text */
  align-items: center;
  color: var(--variable_color_offwhite);
  text-decoration: none;
  gap: calc(var(--variable_spacing_01) / 2);
  margin: 0;
}

/* projects ext info sqr page software icon styling */
.projects_ext_info_software_icon {
  width: calc(var(--variable_spacing_items_01) * 3 - 2px);
  aspect-ratio: 1 / 1;
  filter: brightness(0) invert(1);
}

/* projects ext info sqr page media queries */
@media only screen and (max-width: 1100px) {
  /* projects ext info sqr page container content */
  .projects_ext_info_sqr_container_content {
    grid-template-columns: 1fr; /* single column layout for mobile */
    justify-items: stretch; /* stretch items to fill the width */
    margin-top: var(--variable_spacing_01);
    margin-bottom: var(--variable_spacing_01);
  }

  /* projects ext info sqr page square container */
  .projects_ext_info_left_square_container,
  .projects_ext_info_right_square_container {
    width: 100%; /* ensure square containers take full width */
    margin: 0; /* remove margins to fill space */
  }

  .projects_ext_info_right_square_middle_container {
    display: grid;
    grid-template-columns: repeat(2, auto);
    row-gap: calc(var(--variable_spacing_01)); /* space between links */
    width: fit-content;
  }
}