html,
body {
     padding: 0;
     margin: 0;
     border: 0;
     background: #000000;
     font-family: "Outfit", sans-serif;
     font-optical-sizing: auto;
     font-size: 20px;
     font-weight: 400;
     color: #ffffff;
     width: 100%;
     scroll-behavior: smooth;
     overflow-x: hidden;
}

a {
     text-decoration: none;
     color: inherit;
     cursor: pointer;
}

/* ================================================== */

.obwoluta {
     width: 100vw;
     height: 100vh;
     background-color: #000000;
     position: relative;
}

.obwoluta > img {
     position: fixed;
     width: 25vw;
     left: 17vw;
     top: 28vh;
     -webkit-transform: scaleX(-1);
     transform: scaleX(-1);
}

.formularz {
     position: absolute;
     width: 25vw;
     top: 20vh;
     left: 60vw;
     background-color: transparent;
}

.formularz a {
     width: 12vw;
     font-family: "Outfit", sans-serif;
     font-size: 15px;
     font-weight: 600;
     letter-spacing: 1px;
     color: #ffffff;
     text-transform: uppercase;
     text-align: center;
     background-color: transparent;
     border: 1px solid #ffffff;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     padding: 1vh;
     display: inline-block;
}

.formularz a:hover {
     color: #000000;
     background-color: #ffffff;
}

.holder {
     position: fixed;
     left: 2vw;
     top: 5vh;
     width: 55vw;
     height: 90vh;
}

.holder img {
     width: 100%;
     height: 100%;
     border: none;
     -o-object-fit: contain;
     object-fit: contain;
}

label {
     width: 100%;
     font-size: 12px;
     font-weight: 300;
     letter-spacing: 3px;
     color: #ffffff;
     padding-left: 0.2vw;
}

input[type=file] {
     width: 100%;
     font-family: "Outfit", sans-serif;
     font-size: 20px;
     font-weight: 400;
     letter-spacing: 1px;
     color: #ffffff;
     background-color: transparent;
     border: none;
     outline: none;
     border-bottom: 1px solid #555555;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     margin-bottom: 2vh;
     padding: 0.5vh 0.5vw 0.5vh 0;
}

input[type=text],
input[type=password],
select {
     width: 100%;
     font-family: "Outfit", sans-serif;
     font-size: 20px;
     font-weight: 400;
     letter-spacing: 1px;
     color: #ffffff;
     background-color: transparent;
     border: none;
     outline: none;
     border-bottom: 1px solid #555555;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     margin-bottom: 2vh;
     padding: 0.5vh 0.5vw;
}

option {
     background-color: #000000;
     color: #ffffff;
}

input[type=file]::-webkit-file-upload-button,
input[type=file]::file-selector-button {
     width: 30%;
     display: inline-block;
     background-color: transparent;
     border: 1px solid #ffffff;
     outline: 1px solid #ffffff;
     font-family: "Outfit", sans-serif;
     font-size: 15px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 1px;
     color: #ffffff;
     padding: 0.75vh 0;
     margin-right: 0.5vw;
     cursor: pointer;
}

input[type=file]::-webkit-file-upload-button:hover,
input[type=file]::file-selector-button:hover {
     color: #000000;
     background-color: #ffffff;
}

.final {
     width: 100%;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-pack: justify;
     -ms-flex-pack: justify;
     justify-content: space-between;
}

.final > a {
     width: 23%;
     height: 5vh;
     background-color: transparent;
     color: #ffffff;
     border: 1px solid #ffffff;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     padding: 1vh 0;
}

input[type=reset] {
     width: 23%;
     height: 5vh;
     font-family: "Outfit", sans-serif;
     font-size: 15px;
     font-weight: 600;
     letter-spacing: 1px;
     color: #ffffff;
     text-transform: uppercase;
     background-color: transparent;
     border: 1px solid #ffffff;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     padding: 1vh 0;
     margin-bottom: 2vh;
     cursor: pointer;
}

input[type=submit] {
     width: 50%;
     height: 5vh;
     font-family: "Outfit", sans-serif;
     font-size: 15px;
     font-weight: 600;
     letter-spacing: 1px;
     color: #ffffff;
     text-transform: uppercase;
     background-color: transparent;
     border: 1px solid #ffffff;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     padding: 1vh 0;
     margin-bottom: 2vh;
     cursor: pointer;
}

input[type=submit]:hover,
input[type=reset]:hover {
     color: #000000;
     background-color: #ffffff;
}

.aparat {
     display: none;
}

/* ================================================== */

.wrapper_main {
     width: 90vw;
     height: 100vh;
     margin: 0 auto;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
}

.wrapper_gallery {
     width: 90vw;
     height: 100vh;
     margin: 0 auto;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
}

header {
     width: 100%;
     height: 10vh;
     padding: 0;
     font-family: "Outfit", sans-serif;
     font-size: 1.5rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.6vw;
     word-spacing: 2vw;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-pack: justify;
     -ms-flex-pack: justify;
     justify-content: space-between;
     -webkit-box-align: center;
     -ms-flex-align: center;
     align-items: center;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
}

header a {
     font-family: "Outfit", sans-serif;
     font-size: 1.5rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.6vw;
     word-spacing: 2vw;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-align: center;
     -ms-flex-align: center;
     align-items: center;
     text-transform: uppercase;
}

header a:hover {
     color: green;
     -webkit-transition: all 0.4s ease;
     transition: all 0.4s ease;
}

header i {
     font-size: 1.75rem;
}

.search_container form {
     background-color: transparent;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-align: center;
     -ms-flex-align: center;
     align-items: center;
}

.search_container input[type=text] {
     width: 8vw;
     font-family: "Outfit", sans-serif;
     font-size: 0.85rem;
     font-weight: 400;
     color: #ffffff;
     background-color: transparent;
     padding: 0.5vh 0;
     border: 0;
     outline: 0;
     border-bottom: 1px solid #ffffff;
}

.search_container button {
     float: right;
     font-family: "Outfit", sans-serif;
     font-size: 1rem;
     font-weight: 200;
     color: #ffffff;
     background-color: transparent;
     border: none;
     cursor: pointer;
     margin-bottom: 2vh;
}

.search_container button:hover {
     color: green;
     -webkit-transition: all 0.4s ease;
     transition: all 0.4s ease;
}

section {
     width: 90vw;
     height: 80vh;
     padding: 2vh 0;
     display: grid;
     grid-template-columns: repeat(5, 17vw);
     -webkit-box-pack: justify;
     -ms-flex-pack: justify;
     justify-content: space-between;
}

.image_box {
     width: 17vw;
     height: 17vw;
     margin-bottom: 2vh;
     position: relative;
}

.image_box:hover {
     -webkit-transform: scale(1.1);
     transform: scale(1.1);
     -webkit-transition: all 0.2s ease-in-out;
     transition: all 0.2s ease-in-out;
}

.image_box button {
     width: 100%;
     height: 100%;
     -o-object-fit: cover;
     object-fit: cover;
     padding: 0;
     margin: 0;
     border: 0;
     cursor: pointer;
}

.image_box img {
     width: 100%;
     height: 100%;
     -o-object-fit: cover;
     object-fit: cover;
     pointer-events: none;
}

.image_box > span {
     position: absolute;
     left: 0;
     bottom: 8%;
     z-index: 100;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.35vw;
     color: #000000;
     padding: 1vh 0.5vw;
     background: rgba(255, 255, 255, 0.75);
}

.image_box_coffee {
     width: 17vw;
     height: 17vw;
     margin-bottom: 2vh;
     background-color: #05a862;
     position: relative;
}

.image_box_coffee:hover {
     -webkit-transform: scale(1.1);
     transform: scale(1.1);
     -webkit-transition: all 0.2s ease-in-out;
     transition: all 0.2s ease-in-out;
}

.image_box_coffee button {
     width: 100%;
     height: 100%;
     -o-object-fit: cover;
     object-fit: cover;
     padding: 0;
     margin: 0;
     border: 0;
     cursor: pointer;
}

.image_box_coffee img {
     width: 100%;
     height: 100%;
     -o-object-fit: cover;
     object-fit: cover;
     pointer-events: none;
}

.image_box_coffee > span {
     position: absolute;
     left: 0;
     bottom: 8%;
     z-index: 100;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.35vw;
     color: #000000;
     padding: 1vh 0.5vw;
     background: rgba(255, 255, 255, 0.75);
}

.screen {
     width: 90vw;
     margin: 0 auto;
     height: 75vh;
     position: relative;
}

.prev {
     position: absolute;
     top: 50%;
     -webkit-transform: translateY(-50%);
     transform: translateY(-50%);
     left: 0.5vw;
     color: #ffffff;
     cursor: pointer;
     font-size: 2.5rem;
     font-weight: 700;
     z-index: 20;
}

.next {
     position: absolute;
     top: 50%;
     -webkit-transform: translateY(-50%);
     transform: translateY(-50%);
     right: 0.5vw;
     color: #ffffff;
     cursor: pointer;
     font-size: 2.5rem;
     font-weight: 700;
     z-index: 20;
}

.prev:hover,
.next:hover {
     color: green;
     -webkit-transition: all 0.4s ease;
     transition: all 0.4s ease;
}

.slide {
     width: 100%;
     height: 73vh;
     text-align: center;
}

.slide img {
     max-width: 100%;
     max-height: 100%;
     min-width: 100%;
     min-height: 100%;
     -o-object-fit: contain;
     object-fit: contain;
}

.over_ribbon,
.ribbon {
     width: 90vw;
     margin: 0 auto;
     height: 15vh;
     overflow-x: auto;
     overflow-y: hidden;
     white-space: nowrap;
     position: relative;
     scroll-behavior: smooth;
     -ms-overflow-style: none;
     scrollbar-width: none;
}

.over_ribbon::-webkit-scrollbar,
.ribbon::-webkit-scrollbar {
     -webkit-appearance: none;
}

.left {
     position: absolute;
     left: 0.5vw;
     top: 5vh;
     z-index: 20;
     background-color: transparent;
     color: #ffffff;
     border: none;
     cursor: pointer;
     font-size: 1.5rem;
     font-weight: 700;
}

.right {
     position: absolute;
     right: 0.5vw;
     top: 5vh;
     z-index: 20;
     background-color: transparent;
     color: #ffffff;
     border: none;
     cursor: pointer;
     font-size: 1.5rem;
     font-weight: 700;
}

.left:hover,
.right:hover {
     color: green;
     -webkit-transition: all 0.4s ease;
     transition: all 0.4s ease;
}

.box {
     width: 12vh;
     height: 12vh;
     margin-right: 1vw;
     display: inline-block;
}

.box img {
     width: 100%;
     height: 100%;
     -o-object-fit: cover;
     object-fit: cover;
     opacity: 0.6;
     cursor: pointer;
}

.box img:hover {
     opacity: 1;
     -webkit-transition: all 0.2s ease;
     transition: all 0.2s ease;
}

footer {
     width: 100%;
     height: 6vh;
     padding: 0;
     font-size: 0.9rem;
     font-weight: 500;
     letter-spacing: 0.1vw;
     word-spacing: 0.2vw;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-pack: justify;
     -ms-flex-pack: justify;
     justify-content: space-between;
}

footer > a:hover {
     color: green;
     -webkit-transition: all 0.4s ease;
     transition: all 0.4s ease;
}

footer > span > a.tajny {
     cursor: text;
}

.container {
     width: 100%;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-pack: justify;
     -ms-flex-pack: justify;
     justify-content: space-between;
     -webkit-box-align: start;
     -ms-flex-align: start;
     align-items: flex-start;
     margin-bottom: 2vh;
}

.container div {
     width: 45%;
}

.container h3 {
     font-size: 1.5rem;
     font-weight: 400;
}

.container p {
     font-size: 1rem;
     font-weight: 300;
}

/* ================================================== */

section.basic {
     width: 100%;
     height: 73vh;
     margin-bottom: 2vh;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
}

.thumb_band {
     width: 100%;
     height: 13vh;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-orient: horizontal;
     -webkit-box-direction: normal;
     -ms-flex-direction: row;
     flex-direction: row;
     overflow: auto;
     white-space: nowrap;
}

.thumb_wrap {
     width: 10vh;
     height: 10vh;
     margin-right: 0.5vw;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-align: center;
     -ms-flex-align: center;
     align-items: center;
     -webkit-box-pack: center;
     -ms-flex-pack: center;
     justify-content: center;
     -ms-flex-negative: 0;
     flex-shrink: 0;
}

.thumb_wrap img {
     width: 100%;
     height: 100%;
     -o-object-fit: cover;
     object-fit: cover;
     pointer-events: none;
}

.sublayer {
     position: fixed;
     width: 90vw;
     height: 73vh;
     top: 10vh;
     left: 15vw;
     z-index: 2000;
     visibility: hidden;
     opacity: 0;
}

.sublayer:target {
     visibility: visible;
     opacity: 1;
}

.sublayer img {
     width: 100%;
     height: 100%;
     -o-object-fit: contain;
     object-fit: contain;
     pointer-events: none;
}

/* ========================================= */


@media only screen and (max-width: 1000px) {

     .wrapper_main {
          width: 90vw;
          margin: 0 auto;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
     }

     .wrapper_gallery {
          width: 90vw;
          height: 100vh;
          margin: 0 auto;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
     }

     header {
          width: 100%;
          height: 10vh;
          padding: 0;
          font-family: "Outfit", sans-serif;
          font-size: 50px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
     }

     header :nth-child(3) {
          display: none;
     }

     header img {
          height: 50px;
          margin-right: 1vw;
     }



     section {
          width: 90vw;
          padding: 2vh 0 0 0;
          display: grid;
          grid-template-columns: repeat(2, 42vw);
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
     }

     .image_box {
          width: 42vw;
          height: 17vw;
          margin-bottom: 5vh;
          position: relative;
     }

     .image_box:hover {
          -webkit-transform: scale(1.05);
          transform: scale(1.05);
          -webkit-transition: all 0.4s ease;
          transition: all 0.4s ease;
     }

     .image_box button {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          padding: 0;
          margin: 0;
          border: 0;
          cursor: pointer;
     }

     .image_box img {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          pointer-events: none;
     }

     .image_box > span {
          position: absolute;
          left: 0;
          bottom: 8%;
          z-index: 100;
          font-size: 50px;
          font-weight: 700;
          text-transform: uppercase;
          color: #000000;
          padding: 1vh 0.5vw;
          background: rgba(255, 255, 255, 0.5);
     }

     footer {
          display: none;
     }




     section.basic {
          width: 100%;
          height: 73vh;
          margin-bottom: 2vh;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
     }

     .thumb_band {
          width: 100%;
          height: 13vh;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
          -ms-flex-direction: row;
          flex-direction: row;
          overflow: auto;
          white-space: nowrap;
     }

     .thumb_wrap {
          width: 10vh;
          height: 10vh;
          margin-right: 0.5vw;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          -ms-flex-negative: 0;
          flex-shrink: 0;
     }

     .thumb_wrap img {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          pointer-events: none;
     }

     .sublayer {
          position: fixed;
          width: 90vw;
          height: 73vh;
          top: 10vh;
          left: 5vw;
          z-index: 2000;
          visibility: hidden;
          opacity: 0;
     }

     .sublayer:target {
          visibility: visible;
          opacity: 1;
     }

     .sublayer img {
          width: 100%;
          height: 100%;
          -o-object-fit: contain;
          object-fit: contain;
          pointer-events: none;
     }
}
