/* PROJECTS HEADER */

#header {
	height: auto !important;
	background: linear-gradient(180deg, rgba(31, 48, 55, 0.8) 0%, rgba(255, 255, 255, 0) 100%),
		linear-gradient(90deg, rgba(31, 48, 55, 0.8) 0%, rgba(77, 105, 116, 0.8) 49.07%, rgba(31, 48, 55, 0.8) 100%),
		rgba(31, 48, 55, 0.8) !important;
}
.section__heading {
	opacity: 1 !important;
}

/* PROJECTS WORKS */

.little__directory {
	display: inline-block;
	font-size: 13px;
	color: #989898;
	margin-top: 30px;
}

#projects__works .little__directory_path {
	color: #1f3037;
  margin-top: 0;
}

#projects__main_heading {
    color: #454545;
    font-weight: 900;
    font-size: 80px;
    text-transform: uppercase;
    display: block;
    /*margin: 30px 0 10px;*/
    padding-bottom: 24px;
    letter-spacing: 2px;
}

#projects__works .little__directory {
    margin-bottom: 18px;
    padding-bottom: 10px;
}
.projects__tag-wrapper {
	position: relative;
}
#projects__works {
	position: relative;
  padding-bottom: 100px;
}
#projects__works #preloader {
	display: none;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, -200%) !important;
}
#projects__works #preloader.active {
	display: flex;
}

.projects__name {
	color: #aaa;
	font-weight: 900;
	font-size: 35px;
	padding: 15px 20px;
	margin: 0 15px;
	position: relative;
	display: inline-block;
	transition: 0.3s ease;
	white-space: pre;
}
.projects__name::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 6px;
	background: #4d6974;
	transition: 0.3s ease;
}

.projects__examples_wrapper {
	width: 100%;
	max-width: 1920px;
	margin: 50px auto 0 auto;
	flex-wrap: wrap;
  gap: 20px;
	display: flex;
	overflow: hidden;
	justify-content: center;
	align-items: center;

	-webkit-transition: opacity 0.5s ease-in-out;
	-moz-transition: opacity 0.5s ease-in-out;
	-ms-transition: opacity 0.5s ease-in-out;
	-o-transition: opacity 0.5s ease-in-out;
	transition: opacity 0.5s ease-in-out;
}
.projects__example {
	width: 31%;
	position: relative;
	transition: 0.2s;
	color: #fff;
}

.projects__content {
	display: block;
	padding: 40px;
	background: linear-gradient(111.53deg, rgba(31, 48, 55, 0.7) 0%, rgba(31, 48, 55, 0) 100%);
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: 0.3s ease;
	color: #fff;
}
.projects__heading {
	font-weight: 900;
	font-size: 25px;
	line-height: 34px;
	display: inline-block;
	max-width: 325px;
	margin-bottom: 15px;
}
.projects__client_name {
	font-size: 14px;
	text-transform: uppercase;
}
.view__details {
	position: absolute;
	bottom: 40px;
	right: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: 0.3s;
}

.projects__example > img {
	display: block;
	width: 100%;
	height: 100%;
}
.button__play {
	display: inline-block;
	width: 60px;
	align-self: center;
	margin-top: 35px;
}

/* SHOW MORE WORKS BUTTON */

.btn__container {
	display: flex;
	justify-content: center;
}
.btn__container.container {
  opacity: 0;
  pointer-events: none;
}
.btn__container .works__btn {
	margin: 80px 0 90px 0;
  transition: none;
}

.btn__container .works__btn--hidden {
  opacity: 0;
}

.btn__container .works__btn--not-displayed {
	display: none;
}

/* DEMO */
#demo .section__header {
	margin: 60px 0 10px 0;
	padding-bottom: 0;
}

.swiper-container {
	display: flex;
	width: 100%;
	padding-top: 50px;
	position: relative;
}
.swiper-slide {
	background-repeat: no-repeat;
	background-position: center;
	width: 435px;
	height: 300px;
}
.swiper-slide:first-child {
	margin-left: 60px;
}
.musicSlider .button__play {
	margin-top: 0;
}

.works__slider {
	position: absolute;
	bottom: 0;
	right: 60px;
}

.projects__text {
    display: inline-block;
    max-width: 1044px;
    font-size: 15px;
    line-height: 24px;
    color: #454545;
}

/* tags */

.projects__tags-section {
    width: 100%;
    margin-top: 15px;
}

.tags-section__top {
    display: flex;
    margin-bottom: 6px;
    align-items: center;
}

.tags-section__title {
    font-size: 15px;
    line-height: 15px;
    font-weight: 700;
    margin-right: 30px;
}

.projects__tags-popup-logo {
  display: none;
  width: 103px;
  margin-bottom: 53px;
}

.tags-section__mobile-show-btn.works__btn {
  display: none;
}

.tags-section__mobile-cross-btn {
  display: none;
  position: absolute;
  top: 35px;
  right: 30px;
  width: 18px;
  height: 18px;
  background: no-repeat center/cover url(/assets/svg/interface/tags-popup-cross.svg);
  transform: rotate(0);
  transition: transform .45s .3s ease-in-out;
}

.projects__tags-popup--opened .tags-section__mobile-cross-btn {
  transform: rotate(180deg);
}

.tags-section__mobile-title {
  display: none;
  font-size: 30px;
  line-height: 30px;
  font-weight: 900;
  margin-bottom: 30px;
}

.tags-section__disable-tags {
  position: relative;
  padding: 10px 0 10px 20px;
  font-size: 15px;
  line-height: 15px;
  opacity: 0;
  border: 1px solid transparent;
  pointer-events: none;
  width: 1px;
  white-space: nowrap;
  overflow: hidden;
  transition: width .4s .1s ease-in-out, opacity .1s .5s ease-in-out;
}

.tags-section__disable-tags.tags-section__disable-tags--secondary {
  display: none;
  box-shadow: none;
  width: fit-content;
  margin: 5px 0 0;
  padding: 7px 0 7px 20px;
}

.tags-section__disable-tags.tags-section__disable-tags--secondary::before {
  left: 0;
}

.tags-section__disable-tags--active {
  cursor: pointer;
  opacity: 1;
  cursor: pointer;
  width: 255px;
  pointer-events: inherit;
  transition: width .4s .1s ease-in-out, opacity .1s 0s ease-in-out;
}

.tags-section__disable-tags::before {
  display: block;
  content: '';
  position: absolute;
  left: 0;
  width: 14px;
  height: 14px;
  background-image: url(/assets/svg/interface/cross.svg);
  transition: .3s ease-in-out;
}

.tags-section__disable-tags--active::before {
  transform: rotate(180deg) translateY(-2px);
}

@keyframes shake {
  0% { transform: translateX(0); }
  20% { transform: translateX(+3px); }
  40% { transform: translateX(-3px); }
  60% { transform: translateX(+1px); }
  80% { transform: translateX(-1px); }
  100% { transform: translateX(0); }
}

.tags-section__icon {
  background-image: url(/assets/svg/interface/tags_filter.svg);
  width: 24px;
  height: 24px;
  margin-right: 10px;
}

.tags-section__icon--animated {
  animation: shake 1s;
}

.tags-section__subtitle {
  font-size: 15px;
  font-weight: 700;
  margin: auto 5px;
  height: 1px;
  position: relative;
  top: -10px;
}

.tags-section__counter {
  position: absolute;
  right: 0;
  top: calc(50% - 10px);
  display: flex;
  align-items: baseline;
}

.tags-section__counter-title-main,
.tags-section__counter-title-secondary {
  font-size: 15px;
  line-height: 15px;
}

.tags-section__counter-title-main--hidden,
.tags-section__counter-title-secondary--hidden {
  display: none;
}

.tags-section__all-projects-number,
.tags-section__counter-value {
  font-size: 15px;
  line-height: 15px;
  font-weight: 700;
}

.tags-section__all-projects-number {
  color: #8E8E8E;
}

.tags-section__counter-values {
  margin-left: 5px;
}

.tags-section__active-tags,
.tags-section__default-tags {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -5px;
    padding-right: 220px;
}

.tags-section__active-tags {
  opacity: 0;
  transform: scale(0);
  transition: opacity .3s ease-in-out;
  margin-top: 20px;
}

.tags-section--displayed {
  transform: scale(1);
  opacity: 1;
}

.default-tag {
  position: relative;
  display: flex;
    width: fit-content;
    padding: 8px 12px;
    cursor: pointer;
    color: #454545;
    background-color: #fff;
    border: 1px solid #A5A5A5;
    border-radius: 900px;
    margin: 4px 5px;
    font-size: 15px;
    line-height: 15px;

    transition: all .3s ease-in-out;
}

.default-tag__cross {
  position: absolute;
  right: 10px;
  height: 14px;
  align-self: center;
  background-image: url(/assets/svg/interface/cross_white.svg);
  margin-left: 10px;
  width: 1px;
  opacity: 0;
  transition: opacity .2s .2s ease-in-out;
  pointer-events: none;
}

.applied-tag {
  position: relative;
  width: fit-content;
  display: block;
  padding: 3px 35px 3px 10px;
  cursor: pointer;
  color: #fff;
	background: #4d6974;
  border: 1px solid #A5A5A5;
  border-radius: 4px;
  margin: 10px 5px;
  transition: all 0.3s;
  font-size: 15px;
  line-height: 15px;

  display: none;
}

.applied-tag--active {
  display: block;
}

.applied-tag::before {
  content: '';
  position: absolute;
  top: 0px;
  right: 18px;
  height: 100%;
  line-height: 22px;
  border-left: 1px solid #000;
}
.applied-tag::after {
  content: 'x';
  position: absolute;
  top: 0px;
  right: 5px;
  padding-left: 5px;
  height: 100%;
  line-height: 22px;
}

#projects__main_heading {
	color: #454545;
}

.default-tag--disabled {
    cursor: not-allowed;
    color: #817D7D;
    background-color: #F4F4F4;
    border: 1px solid transparent;
    pointer-events: none;
}

.default-tag--active {
	background: #4d6974;
  color: #fff;
  padding-right: 36px;
}

.default-tag--active .default-tag__cross {
  width: 14px;
  opacity: 1;
}

.tags-section__tooltip {
  position: absolute;
  bottom: 45px;
  max-width: 325px;
  width: max-content;
  padding: 14px;
  background: #FFFFFF;
  color: #000;
  box-shadow: 0px 4px 45px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  font-size: 13px;
  line-height: 18px;
  transform: scale(0);
  opacity: 0;
}

.tags-section__tooltip--active {
  transform: scale(1);
  opacity: 1;
  transition: opacity .3s 1s;
}

.projects__mobile-tag-controllers {
  display: none;
  position: fixed;
  bottom: 30px;
  width: 100%;
  justify-content: center;
  align-items: center;
}

.mobile-tag-controllers__btn.works__btn {
  padding: 17px 30px 17px 64px;
  margin-right: 20px;
}

.projects__mobile-tag-controllers .tags-section__icon {
  display: block;
  background-image: url(/assets/svg/interface/tags_filter_white.svg);
  margin-right: 10px;
  z-index: 2;
  position: absolute;
  top: 14px;
  left: 30px;
}

.mobile-tag-controllers__counter {
  position: static;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 13px;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: 0px 4px 24px rgba(69, 69, 69, 0.45);
}

@media screen and (max-width: 1760px) {
	.projects__name {
		font-size: 24px;
		line-height: 34px;
	}
}

@media screen and (max-width: 1366px) {
	.projects__name {
		font-size: 18px;
		line-height: 26px;
		padding: 8px;
	}
}
@media screen and (max-width: 1080px) {
	.projects__heading {
		font-size: 17px;
		line-height: 24px;
	}
	.projects__client_name {
		font-size: 11px;
		line-height: 11px;
	}
	.projects__example .button__play {
		width: 30px;
		height: 30px;
		margin-top: 15px;
	}
  .tags-section__tooltip {
    display: none;
  }
}

@media screen and (max-width: 962px) {
	.projects__name {
		padding: 7px 5px;
		font-size: 15px;
		line-height: 15px;
		margin: 0 5px;
	}

	.projects__example {
		width: 47% !important;
	}
}
@media screen and (max-width: 768px) {
	.projects__name {
		margin: 0 15px 15px 15px;
		padding: 10px 0;
	}
	.projects__example .projects__content {
		opacity: 0;
	}
	.projects__example {
		width: 100% !important;
	}

  .tags-section__counter {
    top: -26px;
  }
}

@media screen and (max-width: 767px) {
  .projects__tags-popup {
    position: fixed;
    z-index: -999;
    top: 0;
    left: 0;
    width: 100vw;
    /* height: 100vh; */
    background-color: #fff;
    /* transform: scale(0); */
    /* opacity: 0; */
    transform: translateY(-100%);
    /* transition: transform .4s ease-in, z-index .3s .3s; */
    /* transition: translateY .4s ease-in; */

    min-height: 100vh;            /* fall-back */
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height: fill-available;
    height: 100%;
  }

  .projects__tags-popup--opened {
    transform: translateY(0);
    z-index: 999;
    transition: transform .5s ease-in-out;
  }

  .lock-scroll {
    overflow: hidden !important;
    height: 100vh !important;
  }

  .projects__mobile-tag-controllers {
    display: flex;
    transform: translateY(0);
    opacity: 1;
    transition: all .5s .2s ease-in-out;
  }

  .projects__mobile-tag-controllers--hidden {
    opacity: 0;
    transform: translateY(200%);
  }

  .projects__mobile-tag-controllers .tags-section__counter-values {
    position: inherit;
  }

  .tags-section__all-projects-number,
  .tags-section__counter-value {
    font-size: 13px;
    line-height: 14px;
  }

  .tags-section__counter-values {
    margin-left: 0px;
    line-height: 0;
  }

  .tags-section__default-tags {
    padding-right: 0;
    max-height: 350px;
    overflow-y: auto;
  }

  .projects__tags-popup-logo {
    display: block;
  }

  .projects__tag-wrapper {
    padding: 35px 30px;
  }

  .tags-section__mobile-title {
    display: block;
  }

  .tags-section__top {
    position: absolute;
    bottom: 0;
    left: 0;
    bottom: 30px;
    flex-direction: column;
    width: 100%;
    padding: 0 30px;
  }

  .tags-section__show-btn {
    display: block;
  }

  .tags-section__default-tags .tags-section__counter {
    display: none;
  }

  .tags-section__icon {
    display: none;
  }
  .tags-section__title {
    display: none;
  }

  .tags-section__mobile-show-btn.works__btn,
  .tags-section__top .tags-section__disable-tags {
    display: block;
    max-width: 316px;
    padding: 23px 0;
    text-align: center;
    box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.2);
  }

  .tags-section__top .tags-section__disable-tags {
    display: flex;
    justify-content: center;
    align-self: flex-start;
    margin-left: calc(50% - 158px);
    margin-bottom: 15px;
    border-radius: 6px;
    opacity: 0;
  }

  .tags-section__top .tags-section__disable-tags--active {
    width: 100%;
    opacity: 1;
    transition: width .4s .1s ease-in-out, opacity .3s .2s ease-in-out;
  }

  .tags-section__top .tags-section__disable-tags::before {
    display: none;
  }

  .tags-section__top .tags-section__disable-tags > .before {
    width: 14px;
    height: 14px;
    background-image: url(/assets/svg/interface/cross.svg);
    opacity: 0;
    margin-right: 8px;
    transition: .3s ease-in-out;
  }

  .tags-section__top .tags-section__disable-tags--active > .before {
    transform: rotate(180deg);
    opacity: 1;
    transition: .3s .3s ease-in-out;
  }

  .tags-section__mobile-show-btn.works__btn {
    width: 100%;
  }

  .tags-section__disable-tags.tags-section__disable-tags--secondary {
    display: block;
  }

  .tags-section__mobile-cross-btn {
    display: block;
  }

  .projects__examples_wrapper {
		margin-top: 15px;
	}

  .tags-section__counter-title-main,
  .tags-section__counter-title-secondary {
    font-size: 11px;
    line-height: 12px;
    margin-bottom: 2px;
  }
}

@media screen and (max-width: 576px) {
	#projects__main_heading {
		font-size: 40px;
		line-height: 40px;
	}

	.projects__name::after {
		height: 3px;
	}

	.projects__example {
		display: initial;
		width: 50%;
	}
	.projects__example:nth-child(1),
	.projects__example:nth-child(2),
	.projects__example:nth-child(3),
	.projects__example:nth-child(4),
	.projects__example:nth-child(5),
	.projects__example:nth-child(6) {
		width: 100%;
	}
	.projects__content {
		padding: 25px;
		opacity: 1;
	}
	.projects__heading {
		max-width: 75%;
	}

	.projects__example .button__play {
		margin-top: 35px;
	}
	.btn__container .works__btn {
		margin-top: 50px;
		margin-bottom: 70px;
	}

	#demo .section__header {
		margin-top: 60px;
	}
	#demo .section__heading {
		margin: 0;
	}
	#demo .swiper-container {
		padding-top: 30px;
		padding-bottom: 0;
	}

  .projects__text {
      max-width: 100%;
      font-size: 14px;
      line-height: 26px;
  }

  #projects__works #preloader {
    transform: translate(-50%, -150%) !important;
  }
}

@media screen and (max-width: 400px) {
  .tags-section__top {
    align-items: flex-start;
  }

  .tags-section__top .tags-section__disable-tags {
    margin-left: 0;
  }
}


@media screen and (max-width: 374px) {
	.projects__example {
		width: 100%;
	}
  .mobile-tag-controllers__btn.works__btn {
    margin-right: 10px;
  }

  .mobile-tag-controllers__btn.works__btn {
    padding: 17px 20px 17px 50px;
  }

  .projects__mobile-tag-controllers .tags-section__icon {
    left: 20px;
  }
}

@media screen and (min-width: 1921px) {
	.projects__examples_wrapper {
		max-width: 100%;
		justify-content: center;
	}
	.projects__example {
		width: unset;
	}
}

@media screen and (max-height: 540px) and (max-width: 767px) {
  .projects__tag-wrapper {
    padding: 25px;
  }

  .projects__tags-popup-logo {
    margin-bottom: 30px;
  }

  .tags-section__mobile-cross-btn {
    top: 27px;
    right: 25px;
  }

  .tags-section__mobile-title {
    margin-bottom: 20px;
  }

  .tags-section__default-tags {
    max-height: 225px;
  }

  .tags-section__default-tags::-webkit-scrollbar {
    width: 5px;
  }

  .tags-section__default-tags::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 15px;
  }

  .tags-section__default-tags::-webkit-scrollbar-thumb {
    background-color: #4d6974;
    border: 30px solid transparent;
    border-radius: 15px;
  }
}


@media (hover: hover) and (pointer: fine) {
  .projects__name:hover {
    color: #4d6974;
  }
  .projects__name:hover::after {
    width: 100%;
  }
  .projects__example:hover {
    transform: scale(1.05);
    filter: drop-shadow(0px 0px 50px rgba(0, 0, 0, 0.25));
    z-index: 2;
  }
  .projects__example:hover .projects__content,
  .projects__example:hover .view__details {
    opacity: 1;
  }
  .tags-section__disable-tags--active:hover::before {
    transform: rotate(180deg) translateY(-2px);
  }
  .applied-tag--active:hover:after {
    transition: all 0.3s;
    color: #000;
  }
  .default-tag:not(.default-tag--disabled):not(.default-tag--active):hover {
    background: #4d6974;
    color: #fff;
    box-shadow: 0px 4px 24px rgba(69, 69, 69, 0.25);
  }

  @media screen and (max-width: 768px) {
    .projects__example:hover .projects__content {
      opacity: 0;
    }
  }
}
