@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap");

*,
::after,
::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --primaryColor: #146393;
  --primaryTextColor: #ffff;
}

body {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
}


.animate {
  opacity: 0;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}  

.fade-in{
  transform: translateY(180px);
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.slide-in-right {
  transform: translateY(  -200px);
}

.slide-in-right.visible {
  opacity: 1;
  transform: translateX(0);
}



.headerLabel {
  display: flex;
  justify-content: end;
  align-items: center;
  padding: 15px 80px;
  background-color: var(--primaryColor);
  color: var(--primaryTextColor);
}

.headerLabel p {
  margin-bottom: 0;
  margin-left: 25px;
  font-size: 20px;
  font-weight: bold;
}
.headerLabel p a {
	text-decoration: none;
	color: white;
	transition: .2s;
}

.headerLabel p a:hover {
	color: lightgray;
}

.headerLabel p span {
  padding-right: 10px;
}

.headerSocialIcons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-left: 40px;
}

.headerSocialIcons img {
  filter: brightness(0) invert(1);
  transition: transform .3s ;
}

.headerSocialIcons img:hover {
  transform: scale(1.1);
}

.navbar-brand {
  margin-left: 80px;
}

.navBarLinks {
  margin-right: 100px;
}

.navBarLinks ul li {
  margin-left: 40px;
}

.navBarLinks ul li a {
  font-size: 18px;
  text-transform: uppercase;
  text-wrap: nowrap;
}

.navBarLinks button {
  position: relative;
  padding: 20px 30px;
  outline: none;
  border: none;
  background-color: var(--primaryColor);
  color: var(--primaryTextColor);
  font-weight: bold;
  text-transform: uppercase;

  z-index: 10;
}

.navBarLinks button::before {
  content: "";
  padding: 0;
  position: absolute;
  transform-origin: right;
  top: 0;
  right: 0;

  width: 0;
  height: 0;
  z-index: -1;
  background-color: #013a5e;
  transition: 0.2s;
}

.navBarLinks button:hover::before {
  width: 100%;
  height: 100%;
}

/* .bannerContainer {
  position: relative;
  height: 1000px;
  background-size: cover;
  background-repeat: no-repeat;
}

.bannerContainer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.61) 0%,
    rgba(255, 255, 255, 0) 100%
  );
} */

/* .bannerContent {
  text-align: center;
  position: absolute;
  left: 50%;
  top: 70%;
  width: 100%;
  transform: translate(-50%, -50%);
  color: var(--primaryTextColor);
} */

.bannerContent {
  height: auto;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 20%;
  padding-bottom: 100px;
  position: relative;
}

.bannerContent:before {
  content: '';
  display: block;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0,0,0,0.4);
  position: absolute;
  z-index: 1;
  height: 100%;
}


.banner_square {
  display: flex;
  flex-direction: column;
  z-index: 3;
  margin-top: -250px;

}

.bannerContent p:first-child {
  letter-spacing: 30px;
  font-size: 35px;
  font-weight: lighter;
  text-transform: uppercase;
  background-color: transparent;
  color: white;
}

.bannerContent p {
  font-size: 30px;
  font-weight: lighter;
  background-color: #b68b48;
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 30px;
  color: white;
}

.bannerContent p span {
  font-weight: bold;
}

.bannerContent h1 {
  font-size: 100px;
  font-weight: bold;
  letter-spacing: 7px;
  color: white;
  text-align: center;
}

.bannerButtons {
  margin-top: 80px;
  text-align: center;
}

.bannerButtons .firstButton {
  position: relative;
  padding: 20px 30px;
  margin-right: 30px;
  color: #ffff;
  border: none;
  outline: none;
  background-color: var(--primaryColor);
  text-transform: uppercase;
  font-weight: bold;
  z-index: 10;
}

.bannerButtons .firstButton::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  z-index: -1;
  background-color: #013a5e;
  transition: width 0.3s;
}

.bannerButtons .firstButton:hover::before {
  width: 100%;
}

.bannerButtons .secondButton {
  background-color: #ffff;
  padding: 20px 50px;
  border: none;
  outline: none;
  text-transform: uppercase;
  font-weight: bold;
  color: var(--primaryColor);
  transition: background-color 0.3s;
}

.bannerButtons .secondButton:hover {
  background-color: #e0e0e0;
}

.navbar-brand img {
  width: 230px;
}

/* HEADER */

/* MAIN */

.servicesIconsContainer {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  padding: 50px 0;
}

.servicesIconsContainer div {
  text-align: center;
}

.servicesIconsContainer p {
  color: var(--primaryColor);
  font-weight: bold;
  margin-top: 5px;
}

.aboutContainer {
  margin-bottom: 100px;
}

.aboutPicture img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}

.aboutContent {
  padding: 20px 110px 40px 50px !important;
}

.aboutContent h2 {
  font-size: 50px;
  color: var(--primaryColor);
  font-weight: bold;
}

.aboutContent p:first-of-type {
  font-size: 30px;
  color: #b68b48;
  font-weight: 500;
}

.aboutContent p {
  font-size: 26px;
}

.aboutContent p span {
  font-weight: bold;
}

.aboutContent ul {
  list-style: none;
  margin-top: 60px;
}

.aboutContent ul li img {
  margin-right: 10px;
}

.aboutContent ul li {
  margin-top: 20px;
}

.aboutContent button {
  position: relative;
  padding: 15px 50px;
  outline: none;
  border: none;
  background-color: var(--primaryColor);
  color: var(--primaryTextColor);
  font-weight: bold;
  text-transform: uppercase;
  z-index: 10;
  margin-top: 70px;
}

.aboutContent button::before {
  content: "";
  padding: 0;
  position: absolute;
  transform-origin: right;
  top: 0;
  right: 0;

  width: 0;
  height: 0;
  z-index: -1;
  background-color: #013a5e;
  transition: 0.2s;
}

.aboutContent button:hover::before {
  width: 100%;
  height: 100%;
}

.serviceContent {
  margin: auto;
  padding: 0 150px !important;
}

.serviceContent h3 {
  font-size: 50px;
  color: var(--primaryColor);
  font-weight: bold;
  text-transform: uppercase;
}

.serviceContent p {
  font-size: 26px;
}

.serviceContent p span {
  font-weight: bold;
}

.serviceImgContainer {
  position: relative;
}

.serviceImgContainer img:first-child {
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 10;
}

.serviceImgContainer img:nth-child(2) {
  position: absolute;
  left: -15%;
  bottom: -10%;
  z-index: -1;
}

.infoContainer {
  margin-bottom: 150px;
}

.infoContent {
  margin: auto;
  padding-left: 150px !important;
}

.infoContent h3 {
  font-size: 44px;
  color: var(--primaryColor);
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 40px;
}

.infoContent h3 span {
  font-weight: lighter;
}

.infoContent p {
  font-size: 26px;
}

.infoContent button {
  position: relative;
  padding: 25px 40px;
  outline: none;
  border: none;
  background-color: var(--primaryColor);
  color: var(--primaryTextColor);
  font-weight: bold;
  text-transform: uppercase;
  z-index: 10;
  margin-top: 70px;
}

.infoContent button::before {
  content: "";
  padding: 0;
  position: absolute;
  transform-origin: right;
  top: 0;
  right: 0;

  width: 0;
  height: 0;
  z-index: -1;
  background-color: #013a5e;
  transition: 0.2s;
}

.infoContent button:hover::before {
  width: 100%;
  height: 100%;
}

.featuresContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.featuresContainer img {
  margin: 10px 0;
}

.featureContainer {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--primaryColor);
  width: 600px;
  height: auto;
  padding: 50px 30px;
}

.featureContainer span {
  font-weight: bold;
  font-size: 90px;
  color: #ffff;
}

.featureContainer span::after {
  content: "";
  height: 100%;
  width: 100%;
  margin-left: 20px;
  border-right: 3px solid #b68b48;
}

.infoContainer .featureContainer:first-child p {
  font-size: 36px;
}

.featureContainer p {
  font-size: 26px;
  color: #ffff;
  margin-left: 20px;
  padding-bottom: 0;
  font-weight: bold;
  text-transform: uppercase;
}

.secondBanner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 500px;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 0px;
}

.secondBanner h3 {
  font-size: 44px;
  text-transform: uppercase;
  color: #ffff;
  font-weight: 400;
}

.secondBanner h3 span {
  font-weight: bold;
}

.secondSeriveContainer {
  margin-bottom: 150px;
}

.secondServiceContent {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 90px 60px !important;
  background-color: var(--primaryColor);
  color: #ffff;
}

.secondServiceContent h3 {
  font-size: 50px;
  font-weight: 400;
  text-transform: uppercase;
}

.secondServiceContent h3 span {
  font-weight: bold;
}

.secondServiceContent p {
  font-size: 24px;
  color: #ffff;
  font-weight: bold;
}


.personelContent {
  padding: 150px 100px 0 100px!important;
}

.personelContent img {
  width: 100%;
  max-width: 90%;
  text-align: center;
}

.personelContent h3 {
  font-weight: bold;
  color: var(--primaryColor);
  font-size: 4.5vw;
  margin-top: 20px;
}

.personelContent p {
  font-size: 24px;
}

.personelContent button {
  position: relative;
  padding: 25px 40px;
  outline: none;
  border: none;
  background-color: var(--primaryColor);
  color: var(--primaryTextColor);
  font-weight: bold;
  text-transform: uppercase;
  z-index: 10;
  margin-top: 30px;
}

.personelContent button::before {
  content: "";
  padding: 0;
  position: absolute;
  transform-origin: right;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  z-index: -1;
  background-color: #013a5e;
  transition: 0.2s;
}

.personelContent button:hover::before {
  width: 100%;
  height: 100%;
}

.personelCard img {
  width: 50%;
  max-width: 100%;
  object-fit: cover;
}

.personelCard figcaption {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.personelCard h4 {
  font-weight: bold;
  margin: 20px 0;
  color: var(--primaryColor);
  font-size: 30px;
}

.personelCard p {
  font-size: 18px;
}

.personelCard button {
  width: 50%;
  background: none;
  border: 5px solid var(--primaryColor);
  outline: none;
  padding: 5px 30px;
  color: var(--primaryColor);
  font-weight: bold;
  font-size: 20px;
  transition: box-shadow 0.3s;
  margin-top: 40px;
}

.personelCard button:hover {
  box-shadow: 0 0 5px 1px var(--primaryColor);
}

.mapContainer {
  margin-top: 200px;
}

.mapImageContainer img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.mapContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--primaryColor);
  color: #ffff;
  padding: 0 50px!important;

}

.mapContent h3 {
  font-size: 50px;
  font-weight: bold;
  text-transform: uppercase;
}

.mapContent h3 span {
  font-weight: 400;
}

.mapContent p {
  margin-top: 30px;
  font-size: 24px;
}

.reviewContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 100px!important;
}

.reviewContent img {
  max-width: 50%;
  width: 100%;
}

.reviewContent h3 {
  text-transform: uppercase;
  font-weight: bold;
  color: var(--primaryColor);
  font-size: 50px;
  margin: 20px 0;
}

.reviewContent p {
  font-size: 24px;
}

.reviewContent .elipse {
  max-width: 10%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 150px;
}

.reviewPersonelImage img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*MAIN END*/

/*FOOTER*/

footer {
  padding: 70px 0;
  background-color: #0B2654;
  margin-top: 5px;
}

.footerImage img {
  max-width: 60%;
  width: 100%;
}

.formContainer form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 100px
}

.formContainer form input {
  width: 100%;
  padding: 15px 30px;
  border-radius: 10px;
  border: none;
  margin-bottom: 30px;
}

.formContainer form textarea {
  height: 150px;
  border-radius: 10px;
  padding: 10px 30px;
}

.formContainer form button {
  margin-top: 20px;
  width: 35%;
  padding: 15px 0;
  border-radius: 10px;
  color: #ffff;
  border: none;
  outline: none;
  background-color: #02BC7D;
  font-weight: bold;
  text-transform: uppercase;
  transition: .3s;
}

.formContainer form button:hover {
  box-shadow: 0 3px 1px 2px black;
}

.formContainer form button:focus {
  transform: scale(0.9);
}

.footerLinksContainer {
  display: flex;
  color: #ffff;
}

.footerLinksContainer .footerLinks:nth-child(2) {
  margin-left: 70px;
}

.footerLinks h4 {
  font-weight: bold;
  margin-bottom: 20px;
}

.footerLinks ul {
  list-style: none;
}

.footerLinks ul li {
  margin-bottom: 20px;
}

.footerLinks ul li a {
  color: #ffff;
}

@media screen and (max-width: 767px) {

  /* ======= PIOTR ======= */

  h2 {
    font-size: 35px !important;
  }

  h3 {
    font-size: 24px !important;
  }

  .aboutContent p:first-of-type {
    font-size: 21px;
  }

  .headerSocialIcons img {
    width: 25px;
  }
  .personelCard img {
    width: 100%;
    max-width: 100%;
    object-fit: cover;
  }
  .aboutContent p,
  .serviceContent p,
  .infoContent p,
  .personelContent p,
  .personelCard p,
  .reviewContent p {
    font-size: 16px;
  }

  .headerLabel {
    padding: 20px 20px;
    flex-direction: column;
  }

  .headerLabel p span img {
    width: 35px;
  }

  .aboutContent ul {
    margin-top: 30px;
    font-size: 16px;
  }

  .infoContent button,
  .personelContent button {
    padding: 15px 40px;
  }

  .infoContainer .featureContainer:first-child p {
    font-size: 21px;
  }

  .featureContainer p {
    font-size: 21px;
  }

  .secondBanner {
    margin-bottom: 0px;
    height: 250px;
  }

  .infoContainer,
  .secondSeriveContainer {
    margin-bottom: 80px;
  }

  .secondServiceContent p {
    font-weight: normal;
    font-size: 16px;
  }


  .mapContent p {
    font-size: 16px;
    margin-top: 0px;
  }

  .personelCard button {
    width: 100%;
    font-size: 18px;
  }

  .mapContainer {
    margin-top: 40px;
  }

  .reviewContent .elipse {
    margin-top: 20px;
  }

  footer {
    margin-top: 0px;
  }
  /* ==== PIOTR END ==== */

  .headerSocialIcons {
     margin-left: 0px;
  }

  .headerLabel h2 {
    font-size: 25px;
  }

  .headerLabel p {
    margin: 5px 0;
    font-size: 18px;
  }

  .navbar-brand {
    margin-left: 0;
  }

  .navbar-brand img {
    width: 150px;
  }

  .navBarLinks {
    margin: 0;
  }

  .nav-item a {
    text-align: center !important;
  }

  .headerButtonContainer {
    text-align: center;
    margin: 20px 0;
  }

  .bannerContainer {
    background-position: center;
  }

  .bannerContent p:first-child {
    font-size: 20px;
  }

  .bannerContent p {
    font-size: 20px;
  }

  .bannerContent h1 {
    font-size: 40px;
  }

  .bannerButtons button:first-child {
    margin-right: 0;
    margin-bottom: 20px;
  }

  .servicesIconsContainer img {
    width: 35px;
  }

  .servicesIconsContainer p {
    font-size: 12px;
  }

  .aboutPicture {
    padding-right: 0 !important;
  }

  .featureContainer {
    justify-content: start;
  }

  .aboutContent {
    text-align: center;
    padding: 0 15px !important;
    margin-top: 50px;
  }

  .aboutContent ul li {
    display: flex;
    align-items: center;
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
  }

  .aboutContent ul li img {
    width: 20px;
  }

  .serviceContent {
    text-align: center;
    padding: 0 15px !important;
    margin: 0px 0 50px 0;
  }

  .serviceImgContainer img:nth-child(2) {
    top: -10%;
    left: -5%;
  }

  .infoContent {
    padding: 0 15px !important;
    text-align: center;
    margin-bottom: 40px;
  }

  .personelContent {
    padding: 0 15px !important;
    text-align: center;
    margin-bottom: 50px;
  }

  .featureContainer {
    width: 100%;
  }

  .personelContent h3 {
    font-size: 70px
  }

  .personelCard {
    margin-bottom: 40px;
  }

  .mapContent {
    text-align: center;
    padding: 20px 15px!important;
  }

  .reviewContent {
    text-align: center;
    padding: 40px 15px!important;
  }

  .reviewContent img {
    margin-left: auto;
    margin-right: auto;
  }
  
  .formContainer form {
    padding: 0!important;
    margin-top: 50px;
  }

  .footerLinksContainer {
    justify-content: center;
    margin-top: 30px;
  }

  .formContainer form button {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}

/* For tablets */
@media screen and (min-width: 768px) and (max-width: 1230px) {

  /* === PIOTR === */
  h3 {
    font-size: 21px !important;
  }

  .aboutContent p,
  .serviceContent p,
  .infoContent p,
  .personelContent p,
  .personelCard p,
  .reviewContent p {
    font-size: 16px;
  }

  .secondBanner h3 {
    font-size: 40px !important;
  }

  .secondBanner {
    margin-bottom: 0px;
  }

  .infoContainer .featureContainer:first-child p,
  .featureContainer p {
    font-size: 26px;
  }

  .featureContainer {
    justify-content: start;
  }
  .personelContent img {
    width: 400px;
  }

  .secondSeriveContainer {
    margin-bottom: 40px;
  }

  .mapContainer {
    margin-top: 80px;
  }

  .reviewContent img {
    width: 200px;
  }

  .reviewContent .elipse {
    margin-top: 40px;
    width: 100px;
  }

  footer {
    margin-top: 0px;
  }

  .footerImage img {
    width: 200px;
  }

  .formContainer {
    padding-left: 200px;
    padding-right: 200px;
  }

  .secondServiceContent p {
    font-size: 16px;
    font-weight: normal;
  }

  .personelCard button {
    width: 80%;
  }

   /* === PIOTR END === */

  .headerLabel {
    padding: 20px 40px;
  }

  .navbar-brand {
    margin-left: 0;
  }

  .navbar-brand img {
    width: 200px;
  }

  .navBarLinks {
    margin: 0;
  }

  .nav-item a {
    text-align: center !important;
  }

  .headerButtonContainer {
    text-align: center;
    margin: 20px 0;
  }

  .bannerContainer {
    background-position: right;
  }

  .aboutPicture {
    padding: 0 !important;
  }

  .aboutPicture img {
    object-fit: cover;
    object-position: left;
    height: 100%;
  }

  .aboutContent {
    text-align: center;
    padding: 0 15px !important;
    margin-top: 50px;
  }

  .aboutContent ul li {
    display: flex;
    align-items: center;
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
  }

  .serviceContent {
    text-align: center;
    padding: 0 15px !important;
    margin: 100px 0 50px 0;
  }

  .serviceImgContainer img:nth-child(2) {
    top: -10%;
    left: -5%;
  }

  .infoContent {
    padding: 0 15px !important;
    text-align: center;
    margin-bottom: 40px;
  }

  .featureContainer {
    width: 100%;
  }

  .personelContent {
    padding: 0 15px !important;
    text-align: center;
    margin-bottom: 50px;
  }

  .personelContent h3 {
    font-size: 90px;
  }

  .mapContent {
    text-align: center;
    padding: 20px 15px!important;
  }

  .reviewContent {
    text-align: center;
    padding: 40px 15px!important;
  }

  .reviewContent img {
    margin-left: auto;
    margin-right: auto;
  }

  .formContainer form {
    padding: 0!important;
    margin-top: 50px;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }

  .formContainer form button {
    margin-left: auto;
    margin-right: auto;
  }
  
  .footerLinksContainer {
    justify-content: center;
    margin-top: 30px;
  }
}


/* === PIOTREK BANNER ===*/
@media (max-width: 1199px) {
  .bannerContent h1 {
    font-size: 55px;
  }
}
@media (max-width: 991px) {
  .bannerContent h1 {
    font-size: 45px;
  }
  .bannerContent p {
    font-size: 16px;
    display: block;
    text-align: center;
    margin-top: 20px;
  }

  .bannerContent p:first-child {
    font-size: 25px;
  }
}
@media (max-width: 767px) {
  .bannerContent {

    padding-bottom: 10px;
  }
}
@media (max-width: 575px) {
  .bannerContent {
    padding-top: 50%;
    padding-bottom: 40px;
  }
  .bannerContent p:first-child {
    font-size: 16px;
    letter-spacing: 15px;
  }

  .bannerContent h1 {
    font-size: 25px;
  }

  .bannerContent p {
    font-size: 16px;
    display: block;
    text-align: center;
    margin-top: 20px;
  }

  .bannerButtons {
    margin-top: 15px;
  }

  .bannerButtons .firstButton {
    padding: 15px 30px;
    width: 70%;
  }

  .bannerButtons .secondButton {
    padding: 15px 30px;
    width: 70%;
  }
}
