@import url('https://fonts.googleapis.com/css2?family=Zilla+Slab:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Teko:wght@300;400;500;600;700&display=swap');

:root{
  --c-1: #e44c65;
  --c-2: #4ce47f;
  --c-3: #4ce4af;
  --c-4: #e44c93;
  --c-5: #aa4ce4;
  --accent: var(--c-4);
  --white: #fff;
  --black: #060606;
  --grey: #00000004;
  --transition: 0.4s ease-in-out;
  --bg: #1c1d26;
}

body{
    box-sizing: border-box;
    font-family: 'Zilla Slab', sans-serif !important;
    font-size: 16px;
    margin: 0;
    padding: 0px;
    direction: ltr;
  }
  
 
*{
  box-sizing: border-box;
}

a{
  text-decoration: none;
}

p {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.5;
}

ul, ol {
  margin-bottom: 1rem;
  padding-left: 2rem;
}

li {
  margin-bottom: 0.5rem;
}

ul ul, ol ul, ul ol, ol ol {
  margin-bottom: 0;
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

img{
  width: 100%;
  display: block;
  box-sizing: border-box;
}

.module{
  padding: 91px 0;
}

.wrapper {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
  box-sizing: border-box;
}

.header{
  position: relative;
}

.header::after{
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(23, 24, 32, 0.95), rgba(23, 24, 32, 0.95));
}

.header::before{
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('portrait/scene_header_67eac0b6da4dd1.13539155.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  animation: hero 3s linear;
}

@keyframes hero{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

.nav{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 11px;
  padding: 16px 0;
}

.header-logo{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 5px;

  &:hover .logo-title,
  &:focus .logo-title{
    color: var(--accent);
  }
}

.logo-img{
  width: 50px;
  height: 50px;

  img{
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

.logo-title{
  color: var(--white);
  text-transform: uppercase;
  font-size: 22px;
  font-weight: 700;
  transition: var(--transition);
}

.navbar-list{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
}

.nav-item{
  a{
    color: var(--white);
    transition: var(--transition);
  }

  &:hover > a,
  &:focus > a{
    color: var(--accent);
  }
}

.header-box{
  padding: 70px 0;
  position: relative;
  z-index: 1;
}

.row-2{
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  flex-direction: column;
  gap: 16px;
}

.col-2{
  box-sizing: border-box;
  width: 100%;
  flex-grow: 1;
  padding: 16px;
}

.hero-col{
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-col-2{
  display: flex;
  align-items: center;
}

.hero-img{
  width: 250px;
  height: 250px;
  background: linear-gradient(to left, var(--accent), white);
  border-radius: 100%;
  padding: 16px;

  img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(2px 4px 6px black);
  }

  &:hover > img,
  &:focus > img{
    animation: rotate 5s infinite linear;
  }
}

@keyframes rotate{
  0%{
    transform: scale(1);
  }
  50%{
    transform: scale(1.05);
  }
  100%{
    transform: scale(1);
  }
}

.hero-box{
  display: flex;
  flex-direction: column;
  gap: 16px;

  p{
    color: var(--white);
    font-style: italic;
  }
}

.au{
  background: url('portrait/image_header_67eac0b8ea08b0.26263728.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  padding-top: 50px;
}

.au-box{
  border-top: 4px solid var(--accent);
  background: rgba(23, 24, 32, 0.95);
  color: var(--white);
  padding: 75px 0;
}

.au-title{
  color: var(--white);
  text-transform: capitalize;
  font-style: italic;
  margin-bottom: 16px;
  font-size: 22px;
  font-weight: 500;
}

.main{
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  box-shadow: 0 0.25em 0.5em 0 rgb(0, 0, 0);
  direction: ltr !important;
}

.main-col{
  width: 100%;
  box-sizing: border-box;
  flex-grow: 1;
}


.main-img{
  display: none;
  width: 100%;
  height: 200px;

  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.main-item-1{
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  background: rgba(23, 24, 32, 0.95);
  color: var(--white);
  padding:  75px 16px;
}

.main-item-2{
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  background: rgba(23, 24, 32, 0.95);
  color: var(--white);
  padding: 75px 16px;
}

.main-title{
  color: var(--white);
  text-transform: capitalize;
  font-style: italic;
  transition: var(--transition);
  font-size: 20px;
  margin: 0;
  font-weight: 500;

  &:hover,
  &:focus{
    color: var(--accent);
  }
}

.main-col-1,
.main-col-2{
  display: none;
}

.qa{
  background-color: var(--bg);
  color: var(--white);
}

.qa-box{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.qa-img{
  background-color: #272833;
  border-radius: 100%;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;

  svg{
    width: 40px;
    height: 40px;
  }
}

.qa-q-box{
  display: flex;
  flex-direction: column;
  gap: 7px;
  align-items: center;
}

.qa-question{
  font-weight: 700;
}

.qa-answer{
  text-align: center;
}

.qa-col{
  border: 1px solid #ffffff76;
  transition: var(--transition);

  &:hover,
  &:focus{
    transform: scale(1.02);
  }
}

.form-section{
  background-color: var(--accent);
  color: var(--black);

  .wrapper{
    .au-title{
      color: var(--black);
    }
  }
}

.form{
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.page-form-item{
  width: 100%;
}

.page-form-item > input,
.page-form-item > textarea,
.input-custom--component--part,
.textarea-custom--component--part{
  width: 100%;
  background-color: #272833;
  border: none;
  outline: none;
  padding: 15px;
  color: var(--white);
  border-radius: 4px;
}

.privacy{
  color: var(--black);
  transition: var(--transition);
  display: inline-block;

  &:hover,
  &:focus{
    transform: scale(1.02);
  }
}

.gallery{
  background-color: var(--bg);
}

.parent {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 2px;
  grid-row-gap: 2px;
  height: 150px;
}

.div1 { 
  grid-area: 1 / 1 / 3 / 3;
}
.div2 { 
  grid-area: 3 / 1 / 4 / 2;
}
.div3 { 
  grid-area: 3 / 2 / 4 / 3;
}
.div4 { 
  grid-area: 1 / 3 / 4 / 4;
}
.div5 { 
  grid-area: 1 / 4 / 2 / 5;
}
.div6 { 
  grid-area: 2 / 4 / 4 / 5;
}
.div7 { 
  grid-area: 1 / 5 / 2 / 7;
}
.div8 { 
  grid-area: 1 / 7 / 2 / 8;
}
.div9 {
  grid-area: 2 / 6 / 4 / 7;
}
.div10 { 
  grid-area: 2 / 5 / 3 / 6;
}
.div11 { 
  grid-area: 3 / 5 / 4 / 6;
}
.div12 { 
  grid-area: 2 / 7 / 3 / 8;
}
.div13 { 
  grid-area: 3 / 7 / 4 / 8;
}

.gallery-item{
  width: 100%;
  overflow: hidden;

  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
  }

  &:hover > img,
  &:focus > img{
    transform: scale(1.03);
  }
}

.footer{
  background-color: var(--bg);
  color: var(--white);
  padding: 30px 0;
}

.footer-privacy-wr{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 11px;
}

.footer-privacy{
  a{
    color: var(--white);
    transition: var(--transition);
  }

  &:hover > a,
  &:focus > a{
    color: var(--accent);
  }
}

.page-img{
  width: 100%;
  height: auto;
  margin: 0 auto;

  img{
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

.page-section{
  background-color: var(--bg);
  color: var(--white);
}

.price-box{
  color: var(--accent);
  font-size: 26px;
  font-weight: 700;
}

.page-img-box{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}

.page-descr{
  background-color: #272833;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: 16px;
}

.author-box{
  display: flex;
  flex-direction: row;
  gap: 5px;
  align-items: center;
}

.author-img{
  width: 60px;
  height: 60px;
  border-radius: 100%;
  overflow: hidden;

  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.rating-box{
  display: flex;
  justify-content: start;
  flex-direction: column;
  gap: 16px;
}

.author-icon{
  color: var(--accent);
}

.page-box{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contact-section{
  background-color: var(--bg);
  color: var(--white);
}

.contact-box{
  display: flex;
  flex-direction: column;
  gap: 16px;
  background-color: #272833;
  border-radius: 8px;
  padding: 16px;
}

.map{
  width: 100%;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;

  iframe{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none;
  }
}

.contact-col{
  padding: 0 !important;
}

.contact-item{
  display: flex;
  flex-direction: column;
  gap: 5px;

  a{
    word-break: break-all;
    color: var(--white);
    font-weight: 700;
    transition: var(--transition);
  }

  &:hover > a,
  &:focus > a{
    color: var(--accent);
  }
}

.adres{
  font-weight: 700;
  color: var(--white)
}

.comment-section{
  background: url('portrait/picture_header_67eac0bad421c7.11385109.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  padding-top: 50px;
}

.com-wr{
  border-top: 4px solid var(--accent);
  background: rgba(23, 24, 32, 0.95);
  color: var(--white);
  padding: 75px 0;
}

.row-3{
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
}

.col-3{
  box-sizing: border-box;
  width: 100%;
  background-color: #272833;
  border-radius: 8px;
  flex-grow: 1;
  padding: 16px;
}

.com-box{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  gap: 16px;
}

.com-author{
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 10px;
}

.com-text{
  text-align: center;
}

.privacy-section{
  background-color: var(--bg);
  color: var(--white);
}

.privacy-text{
  overflow: hidden;
  word-break: break-all;
}

@media (min-width: 480px){
  .rating-box{
    flex-direction:  row;
  }
} 

@media (max-width: 575px){
  .nav{
    border-bottom: 1px dashed #ffffff76;
  }

  .comment-section,
  .au{
    padding-top: 80px;
  }

  .qa-question{
    text-align: center;
  }
}

@media (min-width: 576px) {
  .wrapper {
    max-width: 540px;
  }

  .hero-img{
    width: 300px;
    height: 300px;
  }

  .nav{
    flex-direction: row;
  }

  .navbar-list{
    flex-direction: row;
    flex-wrap: wrap;
  }

  .main-item-1{
      border-left: 4px solid var(--accent);
  }
  .main-item-2{
      border-right: 4px solid var(--accent);
  }

  .main{
    flex-direction: row;
  }

  .main-col{
    width: 50%;
  }

  .main-col-2{
    display: block;
  }

  .qa-q-box{
    flex-direction: row;
  }
  
  .page-img{
    height: 300px;
  }

  .row-3{
    flex-direction: row;
  }

  .col-3{
    width: calc(50% - 16px);
  }
}

@media (min-width: 768px){
  .wrapper {
    max-width: 720px;
  }

  .row-2{
    flex-direction: row;
  }

  .col-2{
    width: calc(50% - 16px);
  }

  .header-box{
    padding: 100px 0;
  }

  .comment-section,
  .au{
    padding-top: 120px;
  }

  .footer-privacy-wr{
    flex-direction: row;
  }

  .page-img{
    height: 400px;
  }

  .page-img-box{
    flex-direction: row;
  }

  .page-img{
    width: 60%;
  }
  .page-descr{
    width: 40%;
  }

  .rating-box{
    flex-direction:  column;
  }
}

@media (min-width: 992px){
  .wrapper {
    max-width: 960px;
  }

  .header-box{
    padding: 100px 0;
  }
    
  .comment-section,
  .au{
    padding-top: 200px;
    overflow: hidden;
  }

  .au-box{
    animation: au-opacity 3s linear;
  }

  @keyframes au-opacity {
    0%{
      opacity: 0;
      transform: translateY(100px);
    }
    100%{
      opacity: 1;
      transform: translateY(0);
    }
  }

  .main-item-1{
    animation: main-opacity-1 3.2s linear;
  }

  .main-col{
    width: calc((100% / 3));
  }

  .main-col-1{
    display: block;
  }

  @keyframes main-opacity-1 {
    0%{
      opacity: 0;
      transform: translateX(100px);
    }
    100%{
      opacity: 1;
      transform: translateX(0);
    }
  }

  .main-item-2{
    animation: main-opacity-2 3.2s linear;
  }

  @keyframes main-opacity-2 {
    0%{
      opacity: 0;
      transform: translateX(-100px);
    }
    100%{
      opacity: 1;
      transform: translateX(0);
    }
  }

  .form{
    width: 80%;
    margin: 0 auto;
  }

  .rating-box{
    flex-direction: row;
  }

  .col-3{
    width: calc((100% / 3) - 16px);
  }
}


@media (min-width: 1200px){
  .wrapper {
    max-width: 1170px;
  }
}

.btn-wr{
  text-align: center;
}

.button-1 {
  background: linear-gradient(90deg, #0000 33%, #fff5, #0000 67%) var(--_p,100%)/300% no-repeat, #882626;
  color: #0000;
  border: none;
  transform: perspective(500px) rotateY(calc(20deg*var(--_i,-1)));
  text-shadow: calc(var(--_i,-1)* 0.08em) -.01em 0   var(--white),
    calc(var(--_i,-1)*-0.08em)  .01em 2px #0004;
  outline-offset: .1em;
  transition: 0.3s;
  display: inline-block;
  text-align: center;
}

.button-1:hover,
.button-1:focus-visible {
  --_p: 0%;
  --_i: 1;
}

.button-1:active {
  text-shadow: none;
  color: var(--white);
  box-shadow: inset 0 0 9e9q #0005;
  transition: 0s;
}

.button-1 {
  font-family: system-ui, sans-serif;
  font-weight: bold;
  font-size: 20px;
  margin: 0;
  cursor: pointer;
  padding: .1em .3em;
}

.button-2 {
  padding: 13px;
  background: transparent;
  -webkit-animation: jello-horizontal 0.9s both;
  animation: jello-horizontal 0.9s both;
  border: 2px solid #016dd9;
  outline: none;
  color: #016dd9;
  cursor: pointer;
  font-size: 17px;
  display: inline-block;
}

.button-2:hover {
  background: #016dd9;
  color: #ffffff;
  animation: squeeze3124 0.9s both;
}

@keyframes squeeze3124 {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes glowing-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.277);
  }

  50% {
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.192);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

.button-3 {
  position: relative;
  display: inline-block;
  background: linear-gradient(to right, #FFB900, #FF7730);
  background-size: 200% auto;
  border: none;
  border-radius: 25px;
  color: white;
  padding: 10px 20px;
  font-size: 18px;
  text-transform: uppercase;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
  animation: glowing-pulse 2s infinite;
  transition: color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.button-3::before {
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  border-radius: 30px;
  box-shadow: 0 0 20px #FF7730;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.button-3::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.button-3:hover {
  color: #FFB900;
  box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.4);
  transform: scale(1.05);
  background-position: right center;
}

.button-3:hover::before {
  opacity: 1;
}

.button-4 {
  align-items: center;
  background-image: linear-gradient(144deg, #d1ac00, #647723 50%, #004643);
  border: 0;
  border-radius: 8px;
  box-shadow: #d1ac00;
  box-sizing: border-box;
  color: #ffffff;
  display: flex;
  font-family: Phantomsans, sans-serif;
  font-size: 18px;
  justify-content: center;
  line-height: 1em;
  max-width: 100%;
  min-width: 140px;
  padding: 3px;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  cursor: pointer;
  transition: all 0.3s;
  text-align: center;
}

.button-4:active,
.button-4:hover {
  outline: 0;
}

.button-4 span {
  background-color: rgb(5, 6, 45);
  padding: 16px 24px;
  border-radius: 6px;
  width: 100%;
  height: 100%;
  transition: 300ms;
}

.button-4:hover span {
  background: none;
}

.button-4:active {
  transform: scale(0.9);
}

.button-5,
.button-5 *,
.button-5 :after,
.button-5 :before,
.button-5:after,
.button-5:before {
  border: 0 solid;
  box-sizing: border-box;
}

.button-5 {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: button;
  background-color: #000;
  background-image: none;
  color: #fff;
  cursor: pointer;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
    Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  font-size: 100%;
  font-weight: 900;
  line-height: 1.5;
  margin: 0;
  -webkit-mask-image: -webkit-radial-gradient(#000, #fff);
  padding: 0;
  text-transform: uppercase;
}

.button-5:disabled {
  cursor: default;
}

.button-5:-moz-focusring {
  outline: auto;
}

.button-5 svg {
  display: block;
  vertical-align: middle;
}

.button-5 [hidden] {
  display: none;
}

.button-5 {
  border-radius: 99rem;
  border-width: 2px;
  overflow: hidden;
  padding: 0.8rem 3rem;
  position: relative;
}

.button-5 span {
  mix-blend-mode: difference;
}

.button-5:before {
  --tilt: 1.2rem;
  background: #fff;
  -webkit-clip-path: polygon(
    0 0,
    calc(100% - var(--tilt)) 0,
    100% 50%,
    calc(100% - var(--tilt)) 100%,
    0 100%
  );
  clip-path: polygon(
    0 0,
    calc(100% - var(--tilt)) 0,
    100% 50%,
    calc(100% - var(--tilt)) 100%,
    0 100%
  );
  content: "";
  display: block;
  height: 100%;
  left: calc(-100% - var(--tilt));
  position: absolute;
  top: 0;
  transform: translateX(var(--progress, 0));
  transition: transform 0.2s ease;
  width: calc(100% + var(--tilt));
}

.button-5:hover:before {
  --progress: 100%;
}

