:root {
  --accent-color: #178345;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }


html {
  box-sizing: border-box;
  font-size: 50%; 
}
  
body {
  font-family: "Montserrat", "Arial", "Helvetica", sans-serif;
  /* background-color: #F5F5F5; */
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 1.6; 
}
.container {
  max-width: 2560px;
}
.container::before {
  content: url('../img/element-1-small.png');
  display: block;
  position: absolute;
  left: 0;
  top: 12%;
  z-index: -1;
} 
.header, .main {
  padding: 3.4rem 2.4rem 3rem 2.4rem;
}

.header_logo {
  max-width: 75%;
}
.about {
  display: flex;
  flex-direction: column;
  gap: 3rem;  
}

.about > * {
  flex: 1 100%;
}
.about::before {
  content: url('../img/napis.png');
  position: absolute;
  top: 80vh;
  left: 10%;
  z-index: 50;
} 

.heading_1, .heading_2 {
  font-size: 2.3rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
  margin: 2rem 0;
}
.heading_2 {
  font-size: 1.5rem;  
  margin: 1.5rem 0;
  font-weight: 700;
}
.text {
  font-size: 1.8rem;
  margin-bottom: 1em;
}
.text_box {
  position: relative;
}
.info_text, .text_list {
  font-size: 1.6rem;
  line-height: 1.9;
}
.text_list, .text_list_item {
  margin-left: 1.8em;
  /* text-indent: 2em; */
}

.photo_1, .photo_2 {
  width: 100%;
  position: relative;
  flex-grow: 0;
  display: flex;
}
.photo_1 {
  justify-content: flex-end;
}
.photo_2 {
  margin-top: 100px;
}
.img-1, .img-2 {
  max-width: 80%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
}
.photo_1::before {
  content: "";
  display: block;
  position: absolute;
  right: 3rem;
  top: -4rem; 
  border: 30px solid var(--accent-color); 
} 

.photo_2::before {
  content: "Obecnie spółka aktywnie poszukuje nowych terenów inwestycyjnych pod zabudowę wielorodzinną, planując przyszłe projekty.";
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 400;
  padding: 2rem;
  display: block;
  position: absolute;
  right: 5vw;
  top: -10rem; 
  width: 180px;
  height: 180px;
  background-color: var(--accent-color);
}  
.photo_2::after {
  content: "";
  display: block;
  position: absolute;
  right: 15vw;
  bottom: -3rem; 
  border: 25px solid var(--accent-color); 
} 

.info {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  font-size: 1.5rem;
  position: relative;
  z-index: 100;
}

.box {
  display: flex;
  flex-direction: row;
  align-items: start;
  gap: .7rem;
}

.info::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 6rem;
  width: 100%;
  border: 1px solid var(--accent-color);  
}

.info_box_address {
  margin-top: 8rem;
}
.email_link {
  color: #000000;
  text-decoration: none;
}
.email_link:hover {
  color: var(--accent-color);
}

.info_box_company {
  display: flex;
  flex-flow: row wrap;
  gap: 2rem;
}
.info_link {
  text-decoration: none;
  color: var(--accent-color);  
  font-weight: 600;
}

.footer {
  background-color: #000000;
  color: #FFFFFF;  
  font-size: 1.4rem;
  padding: 1.2rem 2.4rem;
}

@media only screen and (min-width: 48em) {
  .container::before {
    top: 40%;
  } 
  .header, .main {
    padding: 5rem 7rem 5rem 7rem;
  }
  .about {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;    
  } 
  .text_box {
    order: 1;
    align-content: center;
    padding-right: 7rem;
  }
  .photo_1 {
    order: 2; 
  }
  .photo_2 {
    order: 3;
  }
  .photo_1::after {
    content: "Obecnie spółka aktywnie poszukuje nowych terenów inwestycyjnych pod zabudowę wielorodzinną, planując przyszłe projekty.";
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 400;
    padding: 3rem;
    display: block;
    position: absolute;
    left: 25%;
    bottom: 3rem; 
    width: 180px;
    height: 200px;
    background-color: var(--accent-color);
  }
  .photo_2::before {
    content: " ";
    display: none;
  } 
  .photo_2::after {
    right: 32vw;
  }
  .img-1, .img-2 {
    max-width: 60%;
  }
  .footer {
    padding-left: 7rem;
  }
}

@media only screen and (min-width: 64em) {
  html {
    font-size: 62.5%; 
  }
  .about {
    row-gap: 18rem;    
  }
  .about::before {
    top: 38%;
    left: 60%;
  } 

  .photo_2, .photo_1 {
    flex: 3 0px;
  }
  .photo_1 {
    z-index: 10;
    margin-bottom: -10rem;
  }
  .photo_2 {
    margin-left: -20rem;
    margin-top: -20rem;
    z-index: 0;
  }
  .photo_1::after {
    font-size: 1.3rem;
    left: 5%;
    bottom: 3rem; 
    width: 190px;
    height: 220px;
  }
  .photo_2::after {
    right: 8vw;
  }
  .img-1, .img-2  {
    max-width: 80%;
  }
  .info {
    margin-top: 12rem;
  }
}    

@media only screen and (min-width: 95em) {
    body {
      position: relative;
    }  
    .container::before {
      content: url('../img/element-1-large.png');
      left: 40%;
      top: 0;
    }  
    .header, .main {
      padding: 4rem 12rem 4rem 12rem;
    }
    .main {
      display: flex;
      flex-direction: column;
      row-gap: 7rem;
    }   
    .about {
      flex-wrap: nowrap;
    }
    .about > * {
      flex-shrink: 0;
      flex: 1;
    }  
    .about::before {
      top: 5%;
      left: 74%;
    } 
    
    .about_info .info_text_box {
      /* flex: 2; */
      max-width: 65vw;
    }

    .img-1, .img-2  {
      max-width: 90%;  
      transition: all .5s;
    }
    .img-1:hover, .img-2:hover {
      transform: scale(1.1);
    }
    .photo_1::before {
      right: 13rem;
      top: -4rem; 
      border: 40px solid var(--accent-color); 
      z-index: 20;
    } 
    .photo_1::after {
      font-size: 1.4rem;
      padding: 3rem;
      left: -5rem;
      width: 200px;
      height: 240px;
    } 
  .photo_2::before {
    top: -10%;
    right: 10%;
  } 
  .photo_2::after {
    right: 6%;
  }
  
    .info::before {
      top: -17rem;
      width: 40%;
    }
    
    .info_box_address {
      margin-top: -12rem;
    }

    .info_box_company {
      column-gap: 20em;
      margin-bottom: 2rem;
    }
    .footer {
      padding-left: 12rem;
      position: fixed;
      bottom: 0;
      left: 0; 
      right: 0; 
    }
  }
