﻿body {
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
  font-weight: 400;
  font-style: normal;
  margin: 0;
  height: 100%;
}

html {
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

body {
  overflow-x: hidden;
}

/* hidden-looking scrollbar, but same reserved gutter */
html.page-hide-scrollbar {
  overflow-y: auto;
  scrollbar-gutter: stable;
  scrollbar-width: auto;
  /* not thin */
  scrollbar-color: transparent transparent;
}

html.page-hide-scrollbar::-webkit-scrollbar {
  width: 12px;
}

html.page-hide-scrollbar::-webkit-scrollbar-track,
html.page-hide-scrollbar::-webkit-scrollbar-thumb {
  background: transparent;
}

*/ .centered-div {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  background-color: #f0f0f0;
  box-sizing: border-box;
}

.left-child {
  flex: 0 0 30%;
  background-color: #dcdcdc;
  padding: 10px;
  box-sizing: border-box;
}

.right-child {
  flex: 0 0 70%;
  background-color: #d4edda;
  padding: 10px;
  box-sizing: border-box;
}


a,
a:visited,
a:hover,
a:active {
  color: black;
  text-decoration: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.container {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;

}


.left {
  display: flex;
  position: relative;
  height: 100%;
  margin-left: 25px;
  position: fixed;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1;
}

.main_menu {
  margin-bottom: 50px;
  width: 150px;

}

.main_menu_anim {
  display: flex;
  flex-direction: column;

}

#content {
  display: flex;
  flex: 1;
  min-width: 0;
  margin-left: 12%;
  margin-right: 25px;
}

#content2 {

  width: 100%;
}






#menu_content {
  height: 100%;
  position: fixed;
  padding-left: 3%;
}

.menu_container {
  display: flex;
  height: 100%;
  margin-top: 10px;
  width: 100%;
}


.MM_title {
  position: relative;
  height: 100px;
  width: 100%;
  line-height: 0.9;
  margin-top: 3vh;
  font-size: 26px;
  font-family: "Outfit";
  font-weight: 600;
  font-optical-sizing: auto;
  text-align: left;
  z-index: 1000;
}

.logo_monika {
  position: relative;
  z-index: 1000;
}

.animate-text {
  position: relative;
  z-index: 1000;
}

.animate-text.at-ready>span {
  display: inline-block;
  opacity: 1;
  transform: translateX(0);
}

.animate-text.at-ready.at-play>span {
  opacity: 0;
  transform: translateX(20px);

  animation-name: at-fade, at-rise;
  animation-duration: 1420ms, 1780ms;
  animation-fill-mode: forwards, forwards;
  animation-delay: var(--d, 0ms), var(--d, 0ms);
}

.animate-text.at-done>span {
  opacity: 1;
  transform: translateX(0);
  animation: none;
}

@keyframes at-fade {
  to {
    opacity: 1;
  }
}

@keyframes at-rise {
  0% {
    transform: translateX(40px);
    animation-timing-function: cubic-bezier(.45, .8, .55, 1);
  }

  32% {
    transform: translateX(-4px);
    animation-timing-function: cubic-bezier(.35, 0, .25, 1);
  }

  100% {
    transform: translateX(0);
  }
}




.animate-div {
  opacity: 0;
  transform: translateX(40px);
  animation: at-in 1780ms forwards;
  animation-delay: var(--delay, 0ms);
}

@keyframes at-in {
  0% {
    opacity: 0;
    transform: translateX(40px);
    animation-timing-function: cubic-bezier(.45, .8, .55, 1);
    /* slower lift */
  }

  32% {
    opacity: 1;
    /* fade completes early */
    transform: translateX(-4px);
    /* overshoot */
    animation-timing-function: cubic-bezier(.35, 0, .25, 1);
    /* return */
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.delay-300 {
  --delay: 300ms;
}

.delay-700 {
  --delay: 700ms;
}




.button_wrap {
  display: flex;
  width: 200px;
  align-items: center;
  position: relative;
}

.menu_item {
  position: relative;
  display: flex;
  width: 100px;
  height: 30px;
  align-items: center;
  transition: transform 0.3s ease, opacity 0.3s ease;

}



.menu_text {
  display: inline-block;
  transform-origin: left center;
  transform: scale(1) translateZ(0);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  font-size: 14px;
  line-height: 1;
  font-family: "Outfit";
  font-weight: 600;
  font-optical-sizing: auto;
  color: rgb(81, 81, 81);
  white-space: nowrap;
  margin-left: 15px;

}

.menu_item:hover .menu_text,
.menu_item.active .menu_text {
  transform: scale(1.40);
}


.menu-frame {
  height: 25px;
  background: #646464;
  width: 5px;
}

.menu-frame2 {
  height: 25px;
  background: #646464;
  width: 5px;
}
.menu-frame3 {
  height: 100px;
  background: #646464;
  width: 1px;
}


.button_right {
  position: absolute;
  width: 5px;
  height: 31px;
  background: #646464;
  overflow: hidden;
}

.button_right::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(255, 255, 255);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.menu_item.active .button_right::before {
  transform: scaleX(1);
}

.menu_item:hover .button_right::before {
  transform: scaleX(1);
}



/*--FOOT ----------------*/

.foot_container {
  display: flex;
  color: #8b8b8b;
  height: 60px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1200px;
  width: 100%;
}

.foot_content {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 25px;
  width: 100%;
  justify-content: flex-end;
}

.foot_right {
  padding-left: 15px;
  margin-left: 15px;
  border-left: 1px solid #d4d4d4;
}



.foot_container2 {
  position: fixed;
  display: contents;
  background: white;
  color: #bebebe;
  z-index: 1000;
}


.foot_content2 {
  position: fixed;
  display: flex;
  align-items: center;
  align-self: baseline;
  width: 100%;
  height: 50px;
  bottom: 0;
  background-color: white;
  max-width: 1200px;
  margin: 0 auto;
  left: 0;
  right: 0;
  animation: footFade 1200ms cubic-bezier(0.0, 0.0, 0.0, 1) 1400ms both;
}

@keyframes footFade {
  from {
    transform: translatey(75px);
    opacity: 0;
  }

  to {
    transform: translatey(0);
    opacity: 1;
  }
}

.foot_left2 {
  padding-left: 15px;
  margin-left: 10px;
}

.foot_right2 {
  padding-left: 15px;
  margin-left: 15px;
  margin-left: auto;
}

.foot_decor {
  display: flex;
  width: 12px;
  height: 12px;
  border-right: 5px solid #6c6c6c;
  border-bottom: 5px solid#6c6c6c;
  box-sizing: border-box;
  position: absolute;
  right: 25px;
  bottom: 50px;
}



.top_foot_wrap {
  display: flex;
  position: fixed;
  height: 80px;
  top: 0;
  margin: 0 auto;
  left: 0;
  right: 0;
  padding: 0 25px 0 0;
  width: 100%;
  max-width: 1200px;
  color: #a2a2a2;
  font-size: 11px;
  padding-left: 145px;
  animation: topfootFade 1200ms cubic-bezier(0.0, 0.0, 0.0, 1) 1200ms both;
}

@keyframes topfootFade {
  from {
    transform: translateX(-75px);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.top_foot_blurr {
  align-items: center;
  justify-content: flex-end;
  display: flex;
  width: 100%;
  height: 100%;
  background-color: white;

}





.top_foot_ele {
  display: flex;
  justify-content: center;
  align-items: center;


}



.storage_icon {
  position: relative;
  padding: 8px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(1);
  filter: brightness(0.9);
  transition: transform 2.2s cubic-bezier(0.03, 1, 0.008, 1),
    filter 1.8s cubic-bezier(0.03, 1, 0.008, 1);
  transform-origin: center center;
  will-change: transform, filter;
}

.storage_icon:hover {
  transform: scale(1.4);
  filter: brightness(0.4);
}

.storage_icon_img.storage_icon_added {
  animation: storageAdded 1.55s ease;
}

@keyframes storageAdded {
  0% {
    transform: scale(1);
    filter: brightness(1);
  }

  18% {
    transform: scale(1.2);
    filter: brightness(0.8);
  }

  34% {
    transform: scale(0.9);
    filter: brightness(0.9);
  }

  46% {
    transform: scale(1.08);
    filter: brightness(0.8);
  }

  100% {
    transform: scale(1);
    filter: brightness(1);
  }
}

.specyfikacja_icons {
  width: 30px;
  height: 30px;
  padding: 4px;
  transform: scale(1);
  filter: brightness(1.05);
  transition: transform 2.2s cubic-bezier(0.03, 1, 0.008, 1),
    filter 1.8s cubic-bezier(0.03, 1, 0.008, 1);

  transform-origin: center center;
  will-change: transform, filter;
}

.specyfikacja_icons:hover {
  transform: scale(1.4);
  filter: brightness(0.4);
}


.phone_number {
  position: relative;
  padding: 12px;
  width: 85px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;

}

.phone_number img {
  display: block;
  height: 14px;
  transform: scale(1);

  transition: transform 2.2s cubic-bezier(0.03, 1, 0.008, 1);

  transform-origin: center center;
  will-change: transform;
}

.phone_number:hover img {
  transform: scale(1.1);
  filter: brightness(0.4);
}





/*-----HOME-------*/


.home_container {
  height: 100vh;
  align-content: center;
}

.home_content {
  height: 100%;
  margin-left: 100px;
  align-content: center;
}

.desktop-layout { display: block; }
.mobile-layout { display: none; }

@media (orientation: portrait) {
  .desktop-layout { display: none; }
  .mobile-layout { display: block; }
}


.home_cell_wrap {
  width: 90%;
  font-size: 10px;

}

.home_cell_wrap .animit {
  opacity: 0;
  transform: translate3d(0, 110px, 0);
  animation: homePageAnimStagger 1.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: var(--delay, 0s);
}

@keyframes homePageAnimStagger {
  from {
    opacity: 0;
    transform: translate3d(0, 110px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.home_cell_wrap .animit2 {
  opacity: 0;
  transform: translate3d(-210px, 0, 0);
  animation: homePageAnimStagger2 1.55s cubic-bezier(.7, 0, .3, 1) forwards;
  animation-delay: var(--delay, 0s);
}

@keyframes homePageAnimStagger2 {
  from {
    opacity: 1;
    transform: translate3d(-210px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.home_cell_wrap .animit3 {
  opacity: 0;
  transform: translate3d(210px, 0, 0);
  animation: homePageAnimStagger3 1.55s cubic-bezier(.7, 0, .3, 1) forwards;
  animation-delay: var(--delay, 0s);
}

@keyframes homePageAnimStagger3 {
  from {
    opacity: 1;
    transform: translate3d(210px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.home_cell_wrap .animit4 {
  opacity: 0;
  transform: translate3d(210px, 0, 0);
  animation: homePageAnimStagger4 1.55s cubic-bezier(.7, 0, .3, 1) forwards;
  animation-delay: var(--delay, 0s);
}

@keyframes homePageAnimStagger4 {
  from {
    opacity: 1;
    transform: translate3d(210px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.home_cell_wrap .animit5 {
  opacity: 0;
  transform: translate3d(0, 110px, 0);
  animation: homePageAnimStagger5 1.55s cubic-bezier(.7, 0, .3, 1) forwards;
  animation-delay: var(--delay, 0s);
}

@keyframes homePageAnimStagger5 {
  from {
    opacity: 1;
    transform: translate3d(0, 110px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.text_rise_anim {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transform: translateY(0);
  transition: transform 1.2s cubic-bezier(0.4, 1.9, 0.32, 1);
}

.home_cell:hover .text_rise_anim {

  transform: translateY(-10px);
}

.text_rise_anim1 {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transform: translateY(0);
  transition: transform 1.2s cubic-bezier(0.4, 1.9, 0.32, 1);
  transition-delay: 0s;
  transition-delay: var(--delay, 0s);
}

.home_cell_3:hover .text_rise_anim1 {
  transform: translateY(-5px);
}

.text_rise_anim2 {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transform: translateY(0);
  transition: transform 1.2s cubic-bezier(0.4, 1.9, 0.32, 1);
  transition-delay: 0s;
  transition-delay: var(--delay, 0s);
}

.home_cell_2:hover .text_rise_anim2 {
  transform: translateY(-5px);
}

.text_rise_anim3 {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transform: translateY(0);
  transition: transform 1.2s cubic-bezier(0.4, 1.9, 0.32, 1);
  transition-delay: 0s;
  transition-delay: var(--delay, 0s);
}

.home_cell_4:hover .text_rise_anim3 {
  transform: translateY(-5px);
}

.text_rise_anim4 {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transform: translateY(0);
  transition: transform 1.2s cubic-bezier(0.4, 1.9, 0.32, 1);
  transition-delay: 0s;
  transition-delay: var(--delay, 0s);
}

.home_cell_4:hover .text_rise_anim4,
.home_cell_wrap:has(.home_cell_5_img:hover) .text_rise_anim4 {
  transform: translateY(-10px);
}

.text_rise_anim5 {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transform: translateY(0);
  transition: transform 1.2s cubic-bezier(0.4, 1.9, 0.32, 1);
  transition-delay: 0s;
  transition-delay: var(--delay, 0s);
}


.home_cell_wrap:has(.home_cell_2:hover) .text_rise_anim5{
  transform: translateY(-10%);
}


.home_cell_row1 {
  display: flex;
  height: 50%;
 
}

.home_cell_row2 {
  display: flex;
  height: 50%;
  
}

.home_cell {
  align-content: flex-end;
  height: 100%;
}

.home_cell_2 {
  align-content: flex-end;
  height: 100%;
}

.home_cell_3 {
  align-content: flex-end;
  height: 100%;
}

.home_cell_5 {
  align-content: flex-end;
  height: 100%;
}

.home_cell_overflow {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.home_cell_2_img {
  display: flex;
  height: 100%;
}

.home_cell_2_img img {
  display: flex;
  will-change: transform;
  backface-visibility: hidden;
  transform: scale(1) translateZ(0);
  width: 100%;
  height: 100%;
  transform-origin: bottom center;
  transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
}



.home_cell_3_img img {
  display: flex;
  will-change: transform;
  backface-visibility: hidden;
  transform: scale(1) translateZ(0);
  width: 100%;
  height: 100%;
  transform-origin: bottom center;
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s;
}



.home_cell_4_img img {
  display: flex;
  will-change: transform;
  backface-visibility: hidden;
  transform: scale(1) translateZ(0);
  width: 100%;
  height: 100%;
  transform-origin: right center;
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;

}




.home_img_area {
  position: relative;
  display: flex;
  overflow: hidden;
  /* clips mask movement */
  margin-right: 20px;
  aspect-ratio: 4 / 5;
  left: clamp(30px, 10vw, 20px);


}

.home_img_mask {
  position: relative;
  width: clamp(360px, 20vw, 380px);

  max-width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  /* clips image scale */
  margin: 0;
  flex: 0 0 auto;



}


.home_img_stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;

}

.home_img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center bottom;
  transform-origin: right center;
  backface-visibility: hidden;
  opacity: 1;
  transform: scale(1);
  will-change: transform, opacity;
  top: -50px;
}

.home_img.is-play {
  animation: imgSize 4200ms cubic-bezier(0.12, 0.75, 0.18, 1) 1800ms both;
}

.home_img.is-done {
  animation: none;
  opacity: 1;
  transform: scale(1);
}

@keyframes imgSize {
  from {
    opacity: 0;
    transform: scale(1.4);
  }

  90% {
    opacity: 1;
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.home_img_cutout {
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center bottom;
  transform-origin: right center;
  backface-visibility: hidden;
  z-index: -5;


  background-image: url("images/home_rzezba_background.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


.home_img_overlay {
  position: absolute;
  inset: 0;
  /* was -2px */
  pointer-events: none;
  z-index: 2;
  overflow: hidden;

}

.home_img_overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(255, 255, 255);
  backface-visibility: hidden;
  transform-origin: center right;
  will-change: transform;
  transform: scaleX(0);
  left: clamp(110px, 10vw, 0);
  width: 63%;
  display: flex;
  display: block;

}

.home_img_overlay.is-play::before {
  animation: revealCover 1600ms cubic-bezier(.7, 0, .3, 1) 600ms both;
}

.home_img_overlay.is-done::before {
  animation: none;
  transform: scaleX(0);
}

@keyframes revealCover {
  from {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}



.monika_bio_stage {
  width: 40%;
  box-sizing: border-box;
  display: flex;
  position: relative;
  align-items: center;
  margin-right: 4%;

}

.monika_bio_border_wrap {
  position: relative;
  width: 10px;
  height: 60%;
  margin-left: 5px;
  margin-right: 15%;
  bottom: 40px;
}

.monika_bio_border {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
  transform: translateX(0);
  opacity: 1;


  display: block;
}

.monika_bio_border::before,
.monika_bio_border::after {
  content: "";
  position: absolute;
  background: rgb(108, 108, 108);

}

/* first thin part */
.monika_bio_border::before {
  top: 8vh;
  left: -5px;
  width: 1px;
  height: 25vh;
  max-height: 18vh;
}

/* second thicker part */
.monika_bio_border::after {
  top: 25vh;
  right: 0;
  width: 5px;
  height: 20vh;
  max-height: 8vh;
}

.monika_bio_border.is-play {
  animation: borderMove 1600ms cubic-bezier(0, 0, 0.2, 1) 1600ms both;
}

.monika_bio_border.is-done {
  animation: none;
  transform: translateX(0);
  opacity: 1;
}

@keyframes borderMove {
  from {
    transform: translateX(-124px);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.monika_bio {
  cursor: pointer;
  text-align: justify;
  line-height: 1.4;
  min-width: 120px;
  transform: translateX(0);
  opacity: 1;
  will-change: transform, opacity;
  font-size: 11px;
}

.monika_bio.is-play {
  animation: bioIn 1600ms cubic-bezier(0, 0, 0.2, 1) 1200ms both;
}

.monika_bio.is-done {
  animation: none;
  transform: translateX(0);
  opacity: 1;
}

@keyframes bioIn {
  from {
    transform: translateX(-124px);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.more_button {
  display: flex;
  width: 98%;

  justify-content: flex-end;
}

.plus-btn {
  position: relative;
  height: 18px;
  cursor: pointer;
  transform-origin: 50% 50%;
  transform: rotate(0deg) scale(1.2);
  transition: transform 650ms cubic-bezier(.34, 1.56, .64, 1);
}

.plus-btn::before,
.plus-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 2px;
  background: #dfdfdf;
  transform-origin: 50% 50%;
  transition:
    transform 650ms cubic-bezier(.34, 1.56, .64, 1),
    background-color 300ms ease;
}

.plus-btn::before {
  transform: translate(-50%, -50%);
}

.plus-btn::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.plus_anim:hover .plus-btn::before,
.plus_anim:hover .plus-btn::after {
  background-color: #959595;
}

.plus_anim:hover .plus-btn {
  transform: rotate(90deg) scale(1.4);

}




.animate-div_monika_bio {
  opacity: 0;
  transform: translateX(40px);
  animation: at-in 1780ms forwards;
  animation-delay: var(--delay, 0ms);
}

@keyframes at-in {
  0% {
    opacity: 0;
    transform: translateX(40px);
    animation-timing-function: cubic-bezier(.45, .8, .55, 1);
  }

  32% {
    opacity: 1;
    transform: translateX(-4px);
    animation-timing-function: cubic-bezier(.35, 0, .25, 1);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.delay-300 {
  --delay: 300ms;
}

.delay-900 {
  --delay: 900ms;
}

@media (max-width: 800px),
(max-height: 525px) {

  .home_content {
    display: flex;
   
    align-items: center;
    justify-items: center;
  }

  .home_row {
    position: relative;
    margin-top: 25vh;
    border: 1px solid black;
    display: flex;
    align-items: center;
    justify-items: center;

  }

  .monika_bio_stage {
    width: 300px;
    box-sizing: border-box;
    display: flex;
    position: relative;
    bottom: 0;
    align-items: end;
    left: 50%;
    transform: translate(-50%);

  }

  .home_img_area,
  .home_img_mask,
  .home_img_stage,
  .home_img,
  .home_img_overlay {
    display: none;
  }

  .monika_bio_border_wrap {
    position: relative;
    margin-left: 25px;
    width: 80px;
    height: 100%;
    align-items: end;
    display: flex;


  }

  .monika_bio_border {
    position: absolute;
    pointer-events: none;
    will-change: transform, opacity;
    transform: translateX(0);
    opacity: 1;
    height: 100%;
    display: flex;
    bottom: 25px
  }

  .monika_bio_border::before,
  .monika_bio_border::after {
    content: "";
    position: absolute;
    background: rgb(205, 205, 205);

  }

  /* first thin part */
  .monika_bio_border::before {
    top: -210px;
    right: 0;
    width: 1px;
    height: 200px;

  }

  /* second thicker part */
  .monika_bio_border::after {
    top: 10%;
    right: 0;
    width: 5px;
    height: 27px;

  }


}












/* ----------------- miniatury ---------------- */

.malarstwo_wrap {
  margin: 23vh 0 0 0;
  padding-left: 10%;


}


.title_section_box {
  align-items: center;
  display: flex;
}

.title_section {
  font-family: "Outfit";
  font-weight: 800;
  font-optical-sizing: auto;
  font-size: 20px;
  font-style: normal;
  color: rgb(83, 83, 83);
  text-align: left;
  margin-right: 35px;
}

.title_section_line {
  flex: 1;
  height: 1px;
  background-color: #cccccc;
}

.textarea-container {
  width: 100%;
  max-width: 500px;
  position: relative;
}

#expandable {
  width: 100%;
  height: 100px;
  overflow: hidden;
  resize: none;
  padding: 10px;
  font-size: 16px;
  box-sizing: border-box;
  transition: height 0.3s ease;
}

#expandable.expanded {
  height: auto;
}

#expandBtn {
  margin-top: 5px;
  padding: 5px 10px;
  cursor: pointer;
}

/* ===== MALARSTWO LAYOUT ===== */

.malarstwo {
  display: flex;
  width: 100%;
  align-items: stretch;
  padding-left: 5%;
}

.malarstwo_right_rows {

}
@media (max-width: 750px) {
  .malarstwo_right_rows {
    
 margin-left: clamp(80px, 10%, 24px);
  }
}
.hippochromia {
  flex: 0 0 32%;
  min-width: 0;
  position: relative;
  align-self: stretch;

}
@media (max-width: 850px) {
  .hippochromia {
  margin-left: clamp(20px, 10%, 24px);  
  
  }
}
@media (max-width: 750px) {
  .hippochromia {
  
   flex: 0 0 8%;
  }
}

.hippo_sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;

}

.hippochromia_title {
  font-size: 24px;
  font-family: "Outfit";
  font-weight: 600;
  color: rgb(81, 81, 81);
}
@media (max-width: 750px) {
  .hippochromia_title {

  }
}
.hippochromia_text {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid gray;
  font-size: 12px;
  
}
@media (max-width: 1000px) {
  .hippochromia_text {
    
    font-size: 11px;
  }
}
@media (max-width: 750px) {
  .hippochromia_text {
  display:none
  }
}
.miniature_row {
  position: relative;
  display: inline;
  width: 100%;
  display: flex;
  gap: 7%;
  margin: 0 0 120px 0;
  opacity: var(--fade, 1);
  transition: opacity 100ms linear;
  justify-content: right;
  padding-right: 10%;
  margin-bottom: 50px;
}
@media (max-width: 850px) {
  .miniature_row {
    gap: 2%;
  }
}


.miniature_box {
  display: flex;
  width: 100%;
  height: 100%;
  cursor: pointer;
  aspect-ratio: unset;
}

.miniature_img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.miniature_img img {

  width: 100%;
  height: 100%;
  transform: scale(1.01);
  transition: transform 0.35s ease;
}

.miniature_box:hover .miniature_img img {
  transform: scale(1.05);
}

.miniature_media,
.miniature_box,
.miniature_img {
  width: 100%;
  min-width: 0;
}

.miniature_img img {
  display: block;
  width: 100%;
  height: auto;
}




/* ===== LEFT BOXES : malarstwo_2 ===== */

#content2[data-page="malarstwo_2"] .hippo_sticky {
  position: relative;
  min-height: var(--left-box-height, 320px);
  visibility: hidden;
  
}

#content2[data-page="malarstwo_2"].left-boxes-ready .hippo_sticky {
  visibility: visible;
  
}

#content2[data-page="malarstwo_2"] .left_box {
  position: fixed;
  left: var(--left-box-left, 0px);
  top: var(--left-box-top, 25vh);
  width: var(--left-box-width, 300px);
  box-sizing: border-box;
  padding-right: 0px;
  will-change: transform, opacity;
  transition: transform .6s cubic-bezier(.22, .61, .36, 1), opacity .35s ease;

}

#content2[data-page="malarstwo_2"].left-boxes-ready #leftBox1 {
  transform: translateY(0);
  opacity: 1;
  z-index: 20;
  pointer-events: auto;
}

#content2[data-page="malarstwo_2"].left-boxes-ready #leftBox2 {
  transform: translateY(var(--left-box-slide, 360px));
  opacity: 0;
  z-index: 10;
  pointer-events: none;
}

#content2[data-page="malarstwo_2"].left-boxes-ready.left-boxes-switched #leftBox1 {
  transform: translateY(calc(-1 * var(--left-box-slide, 360px)));
  opacity: 0;
  z-index: 10;
  pointer-events: none;
}

#content2[data-page="malarstwo_2"].left-boxes-ready.left-boxes-switched #leftBox2 {
  transform: translateY(0);
  opacity: 1;
  z-index: 21;
  pointer-events: auto;
}


/*SPECYFIKACJA MINI*/


.miniature_row>.miniature-overflow,
.miniature_row>.miniature_wrap.miniature_placeholder {
  flex: 0 0 calc((100% - 14%) / 3);
  min-width: 0;
}
@media (max-width: 1000px) {
  .miniature_row>.miniature-overflow,
.miniature_row>.miniature_wrap.miniature_placeholder {
  flex: 1 ;
  }
}
.miniature_wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
}



.mini_spec_wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.main-image {
  position: relative;
  display: inline-block;
  overflow: hidden;
  flex-direction: column;
}

.page-link-icon {
  position: absolute;
  bottom: 0;
  right: 0;

  pointer-events: none;
  opacity: 0;
  transform: scale(0.7);
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: bottom right;
  z-index: 3;
}

.page-link-icon img {
  display: block;
  width: 20px;
  height: 20px;
}

.mini_spec_wrap:hover .page-link-icon {
  opacity: 1;
  transform: scale(1);

}




.mini_spec_title {

  text-align: left;
  font-family: "Outfit";
  font-weight: 500;
  font-optical-sizing: auto;
  margin-top: 10px;
  color: #b7874c;
  font-size: 16px;

}
@media (max-width: 1000px) {
  .mini_spec_title {
    
    font-size: 12px;
  }
}

.mini_spec_spacer1 {
  min-height: 10px;
  margin: 8px 0 8px 0;
  border-left: 1px solid #a5a5a5;
  height: 100%;

}

.mini_spec_text {
  margin-top: auto;
  font-size: 12px;
  text-align: left;

}
@media (max-width: 1000px) {
  .mini_spec_text {
    
    font-size: 11px;
  }
}
.mini_spec_spacer2 {
  min-height: 5px;
  border-left: 1px solid #a5a5a5;
  margin: 8px 0 8px 0;
}

.mini_spec_cena_box {
  display: flex;

}

.mini_spec_cena {
  display: flex;
  font-family: "Outfit";
  font-weight: 600;
  font-optical-sizing: auto;
  color: #414141;
  font-size: 14px;
  height: 18px;
  padding-left: 5px;
  text-align: right;
  border-left: 3px solid #b7874c;
  width: 40px;
}


.mini_spec_currency {
  font-size: 10px;
  width: 20px;
  height: 14px;
  text-align: right;
  color: #303030;

}





.miniature_box:hover img {
  transform: scale(1.1);
  transition: transform .6s ease;
}





.specyfikacja_prawa {

  width: 100%;

}


.specyfikacja_title_box {
  display: flex;
  align-items: center;
  padding-left: 10%;
  width: 100%;
  overflow: hidden;
}

.specyfikacja_title {
  flex: 0 0 auto;
  /* width = content */
  white-space: nowrap;
  text-align: left;
  font-size: 20px;
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  margin-right: auto;
  width: fit-content;
  padding: 0 10px 0 0;
  color: #404040;
}

.specyfikacja_title::first-letter {
  font-size: 30px;
}

.parag {
  font-size: 60px;
  font-weight: 500;
}

.sup_spec {
  vertical-align: super;
  font-size: 24px;
  width: 40px;
  height: 40px;
  font-family: "Baskervville", serif;
  font-optical-sizing: auto;

}

.specyfikacja_title_line {
  flex: 1;
  position: relative;
  height: 35px;
  border-left: 4px solid #b7874c;
  top: 4px;
  padding-left: 20px;
}

.specyfikacja_title_line::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  border-top: 1px solid #d4d4d4;
  transform: translateY(-50%);
}

.spec {
  border-bottom: 1px solid #d4d4d4;
  font-size: 16px;
  text-align: left;
  padding: 20px 0 40px 0;
  min-height: 60px;
  align-items: center;
  display: grid;

}

.specyfikacja_bottom {
  display: flex;
  align-items: center;
  padding-top: 10px;
  justify-content: space-between;

  margin-left: 8px;
}



.specyfikacja_cena {
  position: relative;
  font-family: "Baskervville", serif;
  font-optical-sizing: auto;
  color: #b7874c;
  font-size: 30px;
  font-weight: 600;
  font-style: normal;
  top: -5px;

  height: 40px;
  text-align: right;
  margin-right: 0;
  border-left: 1px solid rgb(186, 186, 186);
  ;
}

.currency {
  font-size: 16px;
  width: 50px;
  height: 40px;
  text-align: right;
  color: #b7874c;
}




/* ===== Artwork lightbox gallery ===== */

.art_gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px;
  gap: 18px;
  align-items: start;
}

.art_gallery_main {
  min-width: 0;
}

.art_gallery_main_link,
.art_gallery_thumb {
  display: block;
  text-decoration: none;
}

.art_gallery_main_img {
  display: block;
  width: 100%;
  height: auto;
}

.art_gallery_side {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.art_gallery_thumb {
  border: 1px solid rgba(0, 0, 0, .08);
  overflow: hidden;
}

.art_gallery_thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.art_gallery.art_gallery_single {
  grid-template-columns: minmax(0, 1fr);
}

.art_gallery.art_gallery_single .art_gallery_side {
  display: none;
}

@media (max-width: 900px) {
  .art_gallery {
    grid-template-columns: 1fr;
  }

  .art_gallery_side {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .art_gallery_thumb {
    width: 88px;
  }
}


/* ===== subgroup placeholders ===== */

.miniature_placeholder {
  visibility: hidden;
  pointer-events: none;

}

/* ===== dynamic left boxes ===== */

#content2.has-dynamic-left-boxes .hippo_sticky {
  position: relative;
  min-height: var(--left-box-height, 320px);
  visibility: hidden;
}

#content2.has-dynamic-left-boxes.left-boxes-ready .hippo_sticky {
  visibility: visible;
}

#content2.has-dynamic-left-boxes .left_box {
  position: fixed;
  left: var(--left-box-left, 0px);
  top: var(--left-box-top, 25vh);
  width: var(--left-box-width, 10px);
  box-sizing: border-box;
  padding-right: 100px;
  will-change: transform, opacity;
  transition: transform .6s cubic-bezier(.22, .61, .36, 1), opacity .35s ease;
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 1000px) {
  #content2.has-dynamic-left-boxes .left_box {
    padding-right: 25px;
    font-size: 10px;
  }
}

@media (max-width: 750px) {
  #content2.has-dynamic-left-boxes .left_box {
    padding-right: 10px;
    
  }
}
#content2.has-dynamic-left-boxes .left_box.is-active {
  transform: translateY(0);
  opacity: 1;
  z-index: 20;
  pointer-events: auto;
}

#content2.has-dynamic-left-boxes .left_box.is-before {
  transform: translateY(calc(-1 * var(--left-box-slide, 360px)));
  opacity: 0;
  z-index: 10;
  pointer-events: none;
}

#content2.has-dynamic-left-boxes .left_box.is-after {
  transform: translateY(var(--left-box-slide, 360px));
  opacity: 0;
  z-index: 10;
  pointer-events: none;

}

.miniature_lightbox_link {
  display: block;
  text-decoration: none;
}







.miniature_title_box {
  display: flex;

  justify-content: space-between;
  align-items: center;
  width: 100%;
  z-index: 2;
  position: absolute;
  top: 226px;
}

.miniature_title_center {
  background-color: white;
  font-size: 14px;
  margin: 0 auto;
  padding: 0 20px 0 20px;
  letter-spacing: 0;
  letter-spacing: 2px;
  vertical-align: middle;
  text-align: center;
}

.sup {
  vertical-align: super;
  font-size: 10px;
  vertical-align: 4px;
  color: #636363
}

.fade-in-thumb-overflow {
  overflow: hidden;
}

.fade-in-thumb {
  transform: translate3d(calc(-100% - 2px), 0, 0);
  will-change: transform;
  backface-visibility: hidden;
  animation: thumbReveal 1.8s cubic-bezier(0.22, 1, 0.36, 1) var(--delay, 0s) forwards;
}

@keyframes thumbReveal {
  from {
    transform: translate3d(calc(-100% - 2px), 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.fade-in-thumb-overflow.is-unlocked {
  overflow: visible;
}



/*----------------- specyfikacje ----------------*/

.specyfikacja_container {
  width: 500px;
  margin: 150px 0 0 110px;
  padding-bottom: 50px;

}

.specyfikacja_lewa {
  flex: 1;
  text-align: left;
  overflow: hidden;

}

.specyfikacja_lewa img {
  transform: scale(1);
  transition: transform 0.4s ease;
  width: 100%;
  height: auto;
}

.specyfikacja_lewa:hover img {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}



.spec_gallery_row {
  display: flex;
  margin: 70px auto;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

.spec_gallery_row_mini {

  display: flex;
  align-items: center;
  justify-content: center;

}

.spec_gallery_row_mini img {
  transform: scale(1);
  transition: transform 0.4s ease;
  max-width: 150px;
  height: auto;
}

.spec_gallery_row_mini:hover img {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}





/*---O MNIE ----------------*/

#o_mnie_scroll,
#o_mnie_scroll2 {
  overflow-y: auto;
  height: 100vh;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#o_mnie_scroll::-webkit-scrollbar,
#o_mnie_scroll2::-webkit-scrollbar {
  display: none;
}


.o_mnie {
  font-size: 13px;
  font-family: "Outfit";
  font-weight: 300;
  line-height: 1.4;
  
}

.o_mnie_container {
  margin-bottom: 50px;
  padding-top:150px;
 padding-left: clamp(100px, 10%, 24px);
}
@media (orientation: portrait) {
  .o_mnie_container {
padding-top:200px;
  }
}

.o_mnie_left {
position: fixed;
  max-width:175px;
  height: 100%;
 width:20%;
}

.o_mnie_left img {
width: 100%;
    height: 100%;
    object-fit: cover;

}

.o_mnie_left_brd {
  position: relative;
  padding: 0 0 40px 0;
  text-align: justify;
  text-justify: inter-word;
  
}

.o_mnie_right {
padding-left: clamp(130px, 35%, 225px);
padding-bottom:25px;
padding-top:25px;
width:90%;
max-width: 900px;
padding-right:5%
}
.o_mnie_right::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.o_mnie_animit {
  opacity: 0;
  transform: translate3d(0, 110px, 0);
  animation: homePageAnimStagger 1.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: var(--delay, 0s);
}

@keyframes homePageAnimStagger {
  from {
    opacity: 0;
    transform: translate3d(0, 110px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}







/*---KONTAKT ----------------*/



.contact_wrap {
  
  padding-left: 7%;
 height: 100vh;
  width: 85%;
  align-content: center;
}
@media (orientation: portrait) {
  .contact_wrap {

   width: 100%;
  }
}


.contact {
 display: flex;
 height: unset;
  flex-direction: row;
padding:20% 0 20% 10%;
  

}
@media (orientation:portrait) {
  .contact {
    flex-direction: column;
      height: 80vh;
    padding:25% 10% 20% 14%;
    padding-left: clamp(60px, 1vw, 220px);
  }
}

.contact_container {
  padding: 10% 0 10% 0;
  display: flex;
}

.contact_left {
  padding-right:5%;
  border-left: 1px solid rgb(177, 177, 177);
  width:90%;
  
}

.contact_right {
display: flex;
flex-direction: column;
 margin-top:0;
  border-left: 1px solid rgb(214, 214, 214);
width:unset;
padding-right:5%;

}
@media (orientation:portrait) {
  .contact_right {
   flex-direction: row; 
  margin-top:25px;
   width:90%;
  }
}

.contacts {
  color: #444444;
  font-size: 11px;
  line-height: 1;
display: flex;
flex-direction: row;
height:105px;
}




.contacts-border{
color: #454545;
width:100%;

padding:5% 0 0 15%;
border-left:5px solid  rgb(213, 213, 213);

}
@media (orientation:portrait) {
  .contacts-border {
 padding:5% 0 0 10%;
  }
}

.contact-social{
  
  position: relative;
  padding-left: 20%;
  margin-top:auto;
 align-content: flex-end;
  border:0;
  margin-left: unset;
}
@media (orientation:portrait) {
  .contact-social {
   margin-left: auto;
   padding-left: 10px;
  border-left:1px solid rgb(176, 176, 176);
  }
}

.contact_icon_wrap {
  display: flex;
  align-items: center;
  height: 30px;

}

.contact_icons {
  width: 20px;
  height: 20px;
  align-self: center;
}


.contact_icons img {
  width: 20px;
  height: 20px;
  align-self: center;
}






.polityka_wrap {

  padding: 18vh 0 0 0;
  padding-left: 10%;
  height: 100vh;
}

.polityka {}


/* storage */
.miniature-overflow {
  overflow: hidden;
  position: relative;
}

.miniature-overflow.is-unlocked {
  overflow: visible;
  display: flex;
}

.miniature-overflow {
  overflow: hidden;
  position: relative;
  height: stretch;
  display: flex;
}

.miniature_media {
  width: 100%;
  position: relative;

}

.miniature_media+div {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  height: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.35s ease 0.1s, transform 0.35s ease 0.1s;
}

.miniature_media::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.miniature_media:hover::after {
  opacity: 1;
}

.miniature_add_btn {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: block;

}

.miniature_media:hover+div,
.miniature_media+div:hover {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.miniature_add_btn img,
.miniature_add_icon {
  width: 35px;
  height: 35px;
  display: block;
  will-change: transform;
  transform-origin: top center;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.miniature_add_btn:hover img,
.miniature_add_btn:hover .miniature_add_icon {
  transform: scale(1.2);
}



/* only visual styling for added state */
.miniature_add_btn.is-added img,
.miniature_add_btn.is-added .miniature_add_icon {
  filter: brightness(1.05);
}





/* =========================
   ROW SNAP NAV BUTTONS
========================== */
#right_buttons {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999;
  left: auto;
  right: auto;
  bottom: auto;
  align-items: center;
  display: flex;
}

.rowsnap_nav_buttons {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 60;
  display: flex;
  flex-direction: column;
  align-items: center;

}

.rowsnap_nav_btn {
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;

}

.rowsnap_nav_up {
  margin-bottom: 10px;
  position: relative;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rowsnap_nav_up img {
  width: 25px;
  height: 25px;
  cursor: pointer;
  transform: scale(1);
  filter: brightness(0.9);
  transition: transform 2.2s cubic-bezier(0.03, 1, 0.008, 1),
    filter 1.8s cubic-bezier(0.03, 1, 0.008, 1);
  transform-origin: center center;
  will-change: transform, filter;
}

.rowsnap_nav_up:hover img {
  transform: scale(1.8);
  filter: brightness(0.4);
}



.rowsnap_nav_down {
  margin-top: 10px;
  position: relative;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rowsnap_nav_down img {
  width: 25px;
  height: 25px;

  cursor: pointer;
  transform: scale(1);
  filter: brightness(0.9);
  transition: transform 2.2s cubic-bezier(0.03, 1, 0.008, 1),
    filter 1.8s cubic-bezier(0.03, 1, 0.008, 1);
  transform-origin: center center;
  will-change: transform, filter;
}

.rowsnap_nav_down:hover img {
  transform: scale(1.8);
  filter: brightness(0.4);
}



.thumb_gall_wrap {
  display: fex;
  height: 75px;
  width: 15px;

  justify-content: center;
  align-content: center;
  border-bottom: 1px solid rgb(213, 213, 213);
  border-top: 1px solid rgb(213, 213, 213);
  margin-top: 1px;
  margin-bottom: 1px;
}

.thumb_gall {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

}

.thumb_gall img {
  width: 25px;
  height: 25px;
  padding: 2px;
  transform: scale(1);
  filter: brightness(0.9);
  transition: transform 2.2s cubic-bezier(0.03, 1, 0.008, 1),
    filter 1.8s cubic-bezier(0.03, 1, 0.008, 1);
  transform-origin: center center;
  will-change: transform, filter;
}

.thumb_gall:hover img {
  transform: scale(1.4);
  filter: brightness(0.4);
}





.malarstwo_right_rows {
  padding-top: 25vh;

}

.miniature_row {
  opacity: var(--fade, 1);
  transition: opacity 180ms linear;
}