/*------------------------------
Dropdown
---------------------------*/
.tag-dropdown {
   position: relative;
   display: block;
   width: 300px;
   height: 43px;
   font-family: Onest;
}

.tag-dropdown._opened {}

.tag-dropdown__button {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 10px;
   padding: 12px 20px;
   cursor: pointer;
   text-align: left;
   width: 100%;
   height: 43px;
   transition: all 0.3s ease;
   color: rgb(255, 255, 255);
   font-family: Onest;
   font-size: 16px;
   font-weight: 500;
   line-height: 125%;
   text-align: left;
   text-transform: uppercase;
   border: 1px solid rgba(255, 255, 255, 0);
   background: rgba(255, 255, 255, 0.08);
   position: relative;
}

.tag-dropdown__button span {
   opacity: 0.3;
}

.tag-dropdown__button:hover,
.tag-dropdown._opened .tag-dropdown__button {
   border: 1px solid rgba(255, 255, 255, 0.24);
}

.tag-dropdown._selected .tag-dropdown-close {
   display: flex;
}

.tag-dropdown._selected .tag-dropdown__button {
   background: #fff;
   color: rgb(30, 30, 30);
}

.tag-dropdown._selected .tag-dropdown__button span {
   opacity: 1;
}

.tag-dropdown-close {
   flex: 0 0 43px;
   width: 43px;
   height: 43px;
   display: flex;
   align-items: center;
   justify-content: center;
   position: absolute;
   top: 0;
   right: 0;
   display: none;
}

.tag-dropdown-close img {
   width: 24px;
   height: 24px;
}

.tag-dropdown__list {
   position: absolute;
   top: 43px;
   left: 0;
   background: rgb(48, 48, 48);
   display: none;
   z-index: 1000;
   width: 100%;
   max-height: 220px;
   overflow-y: auto;
   box-sizing: border-box;

   box-shadow: 2px 1px 5px 0px rgba(0, 22, 86, 0.06), 8px 4px 9px 0px rgba(0, 22, 86, 0.05), 17px 9px 12px 0px rgba(0, 22, 86, 0.03), 31px 15px 14px 0px rgba(0, 22, 86, 0.01), 49px 24px 15px 0px rgba(0, 22, 86, 0);
}

.tag-dropdown__list._visible {
   display: block;
}

.tag-dropdown__item {
   cursor: pointer;
   height: 43px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 10px;
   padding: 12px 20px;
   color: #fff;
   font-family: Onest;
   font-size: 16px;
   font-weight: 500;
   text-align: left;
   text-transform: uppercase;
}

.tag-dropdown__item span {
   color: #fff;
   opacity: 0.3;
   transition: all 0.3s ease 0s;
}

@media (hover: hover) {
   .tag-dropdown__item:hover span {
      opacity: 1;
   }
}

.tag-dropdown__item._checked {
   background: #fff;
   color: #1e1e1e;
}

.tag-dropdown__item._checked span {
   color: #1e1e1e;
}

.tag-dropdown__input {
   display: none;
}


/*------------------------------
search
---------------------------*/
.search {}

.search__form {
   width: 300px;
   height: 43px;
   position: relative;
   margin-left: auto;
}


.search__area {
   width: 100%;
   height: 100%;
}

.search__area input {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   padding: 16px 43px 16px 20px;
   color: rgb(255, 255, 255);
   font-family: Onest;
   font-size: 16px;
   font-weight: 500;
   line-height: 125%;
   text-align: left;
   text-transform: uppercase;
   background-color: rgba(255, 255, 255, 0.08);
   transition: all 0.3s ease 0s;
   border: 1px solid rgba(255, 255, 255, 0);
   border-radius: 0;
}

.search__area input::placeholder {
   opacity: 0.3;
   color: #fff;
}

.search__area input:hover {
   border: 1px solid rgba(255, 255, 255, 0.08);
}

.search__area.focused input {
   border: 1px solid rgba(255, 255, 255, 0.08);
   background-color: rgb(30, 30, 30);
}

.search__area.focused button[type="submit"] {
   display: none !important;
}

.search__area.focused button[type="reset"] {
   display: block !important;
}

.search__area.focused button[type="reset"] img {
   -webkit-filter: invert(1);
   -moz-filter: invert(1);
   -ms-filter: invert(1);
   filter: invert(1);
}

.search__area.active input {
   background-color: rgb(30, 30, 30);
   color: #fff;
}

.search__area.active button[type="reset"] {
   display: block;
}

.search__area.active button[type="reset"] img {
   -webkit-filter: invert(1);
   -moz-filter: invert(1);
   -ms-filter: invert(1);
   filter: invert(1);
}

.search__area.active button[type="submit"] {
   display: none;
}

.search__area.focused.active {
   background-color: #fff;
   color: rgb(30, 30, 30);
}

.search__area button {
   position: absolute;
   top: 0;
   right: 0;
   width: 43px;
   height: 43px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.search__area button img {
   width: 24px;
   height: 24px;
}

.search__area button[type="submit"] img {
   opacity: 0.2;
}

.search__area button[type="reset"] {
   display: none;
}

.blog-post {
   position: relative
}

.blog-post .case__tag {
   margin-right: 6px;
}

.blog-post .service-decore {
   position: absolute;
   top: 0;
   left: 50%;
   width: 36%;
   height: auto;
   aspect-ratio: 1;
   -webkit-transform: rotate(20deg);
   -ms-transform: rotate(20deg);
   transform: rotate(20deg);
   -webkit-animation: rotating 24s linear infinite;
   animation: rotating 24s linear infinite;
   -webkit-transform-origin: left bottom;
   -ms-transform-origin: left bottom;
   transform-origin: left bottom;
   z-index: -1
}

.blog-post .service-decore img {
   width: 100%;
   height: 100%;
   -o-object-fit: contain;
   object-fit: contain
}

.blog-post__body {
   padding: 120px 0 0;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   gap: 32px
}


.blog-post__title {
   color: #fff;
   font-family: Onest;
   font-size: calc(40px + 24 * ((100vw - 320px)/ 1600));
   font-weight: 200;
   line-height: 90%;
   text-transform: uppercase;
   max-width: 600px;
   margin-bottom: 240px
}

.search__title {
   max-width: 850px;
   font-size: calc(35px + 22 * ((100vw - 320px)/ 1600));
}

.blog-post__panel {
   display: flex;
   align-items: end;
   justify-content: end;
   gap: 32px;
}

.blog-post__panel .tag-dropdown {
   display: none;
}

.blog-post__tags {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   gap: 12px;
}

.blog-post__tag {
   display: inline-flex;
   align-items: center;
   line-height: 0.9;
   margin: 0;
   padding: 13.5px 20px 13.5px 20px;
}

.blog-post__items {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   gap: 20px;
   margin-bottom: 60px;
}

.blog-post__item .case {
   width: 100%;
   height: auto;
   aspect-ratio: 127 / 120;
   opacity: 1;
   position: relative;
   overflow: hidden;
   opacity: 0.8;
   transition: all 0.3s ease 0s;
}

.blog-post__item .case:hover {
   opacity: 1;
}

.blog-post__item .case__tags {
   opacity: 1;
}

.blog-post__item .case__image {
   height: 100%;
}

.blog-post__item .case__name {
   align-items: center;
}

.blog-post__item .case__info,
.portfolio__item .case__info {
   height: 56px;
}

.portfolio__item .case__name {
   align-items: center;
}

.portfolio__item .case__name p {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}

.blog-post__item .case__name p {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}

.blog-post__item .case__name span {
   max-width: 34px;
}

.blog-post__item .case .case__info {
   transform: translateY(0);
   opacity: 1;
}

.portfolio__items {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
   margin-bottom: 60px;
}

.portfolio__item {
   width: 100%;
   height: auto;
}

.portfolio__item .case {
   width: 100%;
   height: 480px;
   opacity: 1;
   position: relative;
   overflow: hidden;
   opacity: 0.8;
   transition: all 0.3s ease 0s;
}

.portfolio__item .case__info {
   opacity: 1;
   transform: none;
}

.portfolio__item .case:hover {
   opacity: 1;
}

.portfolio__item .case__tags {
   opacity: 1;
}

.portfolio__item .case__image {
   height: 100%;
}

@media (min-width:1000px) and (max-width:1780px) {
   .blog-post__body {
      padding-right: 80px
   }
}

@media (max-width:1565px) {
   .blog-post__title {
      margin-bottom: calc(160px + 80 * ((100vw - 320px)/ 1245))
   }
}

@media (max-width:1250px) {
   .blog-post__items {
      grid-template-columns: 1fr 1fr;
   }

   .portfolio__items {
      grid-template-columns: 1fr;
   }
}

@media (max-width:1200px) {
   .blog-post__panel {
      flex-direction: column;
   }

   .portfolio__item .case {
      opacity: 1;
   }
}



@media (max-width:767px) {
   .blog-post__body {
      padding-top: 80px;
      gap: 32px;
   }

   .blog-post__item .case {
      opacity: 1;
   }

   .blog-post__item .case__name span {
      font-size: 10px;
      max-width: 30px;
   }

   .blog-post__item .case__name {
      padding: 10px;
   }

   .portfolio__item .case__name {
      padding: 10px 12px;
   }

   .portfolio__item .case__tag,
   .blog-post__item .case__tag {
      padding: 6px 8px;
   }

   .portfolio__items,
   .blog-post__items {
      gap: 8px;
   }

   .portfolio__item .case {
      height: 320px;
   }

   .blog-post__tags {
      display: none;
   }

   .blog-post__panel {
      flex-direction: row;
      align-items: center;
      gap: 8px;
   }

   .blog-post__panel .tag-dropdown {
      display: block;
   }

   .blog-post__body {
      padding-bottom: 0;
   }
}

@media (max-width:670px) {
   .blog-post__panel {
      flex-direction: column;
   }

   .search__form,
   .tag-dropdown {
      margin-inline: auto;
      flex: 1;
      width: 100%;
   }

   .search {
      width: 100%;
   }
}

@media (max-width:600px) {
   .search__form {
      width: 100%;
   }

   .blog-post__item .case__info,
   .portfolio__item .case__info {
      height: 48px;
   }

   .blog-post__items {
      grid-template-columns: 1fr;
   }

   .blog-post .service-decore {
      width: 60%;
      top: 0;
      left: 20%
   }
}