.cwa-box {
  position: relative;
}

.herosection-box .hero-2-middle {
  display: flex;
  text-align: center;
}

.hero-middle {
  text-align: center;
}

.hero-2-middle.line {
  display: none;
}

.icon-btns {
  display: grid;
  grid-gap: 5em;
  grid-template-columns: repeat(2, 1fr);
  margin: auto;
  padding: 3em 0;
  overflow: visible;
}

.icon-btn {
  background-color: transparent;
  outline: none;
  position: relative;
  width: 44px;
  height: 44px;
  perspective: 24em;
  transform-style: preserve-3d;
  -webkit-tap-highlight-color: transparent;
  padding: 0;
}

.icon-btn__back,
.icon-btn__front,
.icon-btn__label {
  transition:
    opacity 0.3s cubic-bezier(0.83, 0, 0.17, 1),
    transform 0.3s cubic-bezier(0.83, 0, 0.17, 1);
}

.icon-btn__back,
.icon-btn__front {
  border-radius: 12px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.icon-btn__back {
  box-shadow: 0.5em -0.5em 0.75em hsla(223, 10%, 10%, 0.15);
  display: block;
  transform: rotate(15deg);
  transform-origin: 100% 100%;
}

.icon-btn__front {
  background-color: hsla(0, 0%, 100%, 0.15);
  box-shadow: 0 0 0 0.1em hsla(0, 0%, 100%, 0.3) inset;
  backdrop-filter: blur(0.75em);
  -webkit-backdrop-filter: blur(0.75em);
  display: flex;
  transform-origin: 80% 50%;
}

.icon-btn__icon {
  margin: auto;
  width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-btn__icon img {
  width: 100%;
  height: auto;
  display: block;
}

.icon-btn__label {
  font-size: 1em;
  white-space: nowrap;
  text-align: center;
  line-height: 2;
  opacity: 0;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  transform: translateY(0);
}

.icon-btn:focus-visible .icon-btn__back,
.icon-btn:hover .icon-btn__back,
.wctn-info-row.active .icon-btn .icon-btn__back {
  transform: rotate(25deg) translate3d(-0.5em, -0.5em, 0.5em);
}

.icon-btn:focus-visible .icon-btn__front,
.icon-btn:hover .icon-btn__front,
.wctn-info-row.active .icon-btn .icon-btn__front {
  transform: translateZ(2em);
}

.icon-btn:focus-visible .icon-btn__label,
.icon-btn:hover .icon-btn__label,
.wctn-info-row.active .icon-btn .icon-btn__label {
  opacity: 1;
  transform: translateY(20%);
}

.cwa2-section-1 {
  padding: 93px 0 0;
}


.cwa2-section-1::before {
  background: url(../img/web-app-development/custom-web-app-2/hero-background-image.svg) no-repeat;
  display: block;
  content: "";
  width: 100%;
  height: 1080px;
  position: absolute;
  top: 0;
  left: 0;
}

.hero-heading {
  margin-bottom: 15px;
  min-height: 140px;
}

.hero-text {
  margin-bottom: 30px;
  position: relative;
}

.gradient-icon-absolute {
  position: absolute;
}

.herosection-box,
.hero-image-container {
  position: relative;
}

.hero-image-container {
  margin-top: 20px;
}

.gradient-icon-absolute.top-left {
  top: 0;
  left: -180px;
}

.gradient-icon-absolute.top-right {
  top: 90px;
  right: -130px;
}

.gradient-icon-absolute.bottom-left {
  left: -220px;
  top: 0;
}

.gradient-icon-absolute.bottom-right {
  top: 10px;
  right: 40px;
}

.hero-button {
  z-index: 2;
  position: relative;
}


.cwa2-section-2 {
  background: #111112;
  padding: 70px 0;
  position: relative;
}

.cwa2-section-2::before {
  display: block;
  content: "";
  width: 100%;
  height: 200px;
  position: absolute;
  background: url(../img/web-app-development/custom-web-app-2/section2-footer-light.svg) no-repeat;
  bottom: 0;
}

.cwa2-section-2 .pvs-content {
  color: #848589;
}

.pvs-subheading h4 {
  margin-bottom: 10px;
  font-size: 17px !important;
  line-height: 24px !important;
  color: #E5E5E5;
  font-weight: 600;
  font-style: italic;
}

.wctn-info-row {
  padding: 25px;
  border: solid 1px #313138;
  border-radius: 18px;
  margin-bottom: 15px;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 40px;
  position: relative;
  cursor: pointer;
}

.wctn-right h3 {
  font-size: 17px !important;
  line-height: 20px !important;
  color: #E5E5E5;
  font-weight: 600;
  margin-bottom: 5px;
}

.wctn-right p,
.wctn-right li,
.wctn-right li span {
  font-size: 15px;
  line-height: 20px;
  color: #86868B;
}

.wctn-right p {
  margin-bottom: 0;
}

.wctn-right li {
  margin-bottom: 5px;
  padding-left: 15px;
  position: relative;
}

.wctn-right li::before {
  display: block;
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #848589;
  position: absolute;
  top: 6px;
  left: 0;
}

.wctn-right li span {
  font-weight: 600;
}

.wctn-right ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.wctn-left {
  padding-top: 13px;
}

.wctn-left,
.wctn-right {
  position: relative;
  z-index: 3;
}

.wctn-info-row::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 3px;
  border-radius: inherit;
  background: linear-gradient(270deg, #3E93F7, #E60A78, #3E93F7, #E60A78);
  background-size: 300% 300%;
  animation: borderMove 4s ease infinite;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  opacity: 0;
  width: 100%;
  height: 100%;
  left: -3px;
  top: -3px;
  transition: 0.5s;
}

.wctn-info-row.active::before {
  opacity: 1;
  transition: 0.5s;
  z-index: 2;
}

.cwa2-section-2 .pvssection-box {
  align-items: center;
  grid-template-columns: 1fr 598px;
  gap: 113px;
}

.cwa2-section-2 .pvs-heading {
  margin-bottom: 20px;
}

.cwa2-section-2 .pvs-subheading h4 {
  margin-bottom: 0 !important;
}

.cwa2-section-3 {
  padding: 50px 0;
}

.cwa2-section-3 .wwd-image img {
  border-radius: 17px;
}

.cwa2-section-3 .wwd-heading {
  margin-bottom: 10px;
}

.wwd-heading h2,
.wwd-heading span {
  color: #E5E5E5;
  font-size: 48px !important;
  line-height: 56px !important;
  display: block;
}

.cwa2-section-3 .wwd-content {
  margin-bottom: 30px;
}

.cwa2-section-3 .wwd-content p {
  font-size: 15px;
  line-height: 20px;
}

.cwa2-section-3 .wwd-service-container {
  margin-top: 20px;
}

.cwa2-section-3 .wwd-service-box {
  margin-bottom: 20px;
}

.cwa2-section-3 .wwd-service-box:last-child {
  margin-bottom: 0;
}

.cwa2-section-3 .box-des-image {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px 5px;
  margin-top: 37px;
}

.cwa2-section-4 {
  background-color: #111112;
  position: relative;
  padding: 70px 0;
}

.cwa2-section-4 .bwasection-box {
  z-index: 1;
}

.cwa2-section-4::before,
.cwa2-section-4::after {
  display: block;
  content: "";
  width: 100%;
  height: 200px;
  position: absolute;
  z-index: 0;
}

.cwa2-section-4::before {
  background: url(../img/web-app-development/custom-web-app-2/footer-light-top.svg) no-repeat top center;
  top: 0;
}

.cwa2-section-4::after {
  background: url(../img/web-app-development/custom-web-app-2/footer-light-bottom.svg) no-repeat bottom center ;
  bottom: 0;
}

.bwasection-second-box {
  max-width: 1050px;
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 200px;
  align-items: center;
}

.cwa2-section-4 .pvs-content {
  max-width: 430px;
  margin-bottom: 40px;
}

.bwa-button .button-openmd {
  display: inline-block;
  font-size: 15px;
  line-height: 20px;
  color: #fff;
  background: #E60078;
  border-radius: 25px;
  padding: 15px 30px;
  cursor: pointer;
  margin-bottom: 0;
}

.cwa2-section-5.cwa-section-4 {
  background: #000;
}

.ohc-box-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 30px;
}

.ohc-content {
  text-align: center;
  margin-bottom: 40px;
}

.ohc-content p {
  margin-bottom: 0;
  color: #E5E5E5;
  font-size: 15px;
  line-height: 20px;
}

.ohc-heading {
  margin-bottom: 10px;
}

.ohc-box {
  border-radius: 18px;
  border: solid 1px #22222B;
  padding: 40px 30px 30px;
  position: relative;
  transition: 0.6s;
}

.ohc-box.active {
  background-color: #12032C;
}

.ohc-box::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 3px;
  border-radius: inherit;
  background: linear-gradient(270deg, #3E93F7, #E60A78, #3E93F7, #E60A78);
  background-size: 300% 300%;
  animation: borderMove 4s ease infinite;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  opacity: 0;
  width: 100%;
  height: 100%;
  left: -3px;
  top: -3px;
  transition: 0.5s;
}

.ohc-box .ohc-box-content {
  z-index: 3;
  position: relative;
}

.ohc-box-content img {
  margin-bottom: 40px;
}

.ohc-box-content p {
  font-size: 15px;
  line-height: 20px;
  color: #E5E5E5;
  margin-bottom: 30px;
  font-weight: 400;
}

.ohc-box-content h3 {
  color: #E5E5E5;
  font-size: 15px !important;
  line-height: 19px !important;
  font-weight: 600;
  margin-bottom: 5px;
}

.ohc-box-content h4 {
  color: #848589;
  font-size: 15px !important;
  line-height: 20px !important;
  font-weight: 400;
}

.ohc-button-container {
  text-align: center;
  margin-top: 20px;
}

.ohc-button-container a {
  display: inline-block;
  color: #FFFFFF;
  font-size: 15px;
  line-height: 20px;
  padding: 15px 30px;
  background-color: #E60078;
  border-radius: 25px;
  cursor: pointer;
}

.cwa2-section-7 {
  padding: 50px 0;
}

.cwa2-section-8 .lbwa-heading {
  margin-bottom: 20px;
}

.cwa2-section-8 .lbwa-content p {
  font-size: 17px;
  line-height: 24px;
  color: #E5E5E5;
}

.cwa2-section-8 .lbwa-content {
  margin-bottom: 40px;
}

@media (min-width: 767px) {
  .ohc-box.active::before {
    opacity: 1;
    transition: 0.5s;
    z-index: 2;
  }
}

@media (max-width: 767px) {

  .cwa2-section-1 {
    padding: 40px 0 0;
  }

  .cwa2-section-1::before {
    display: none;
  }

  .hero-heading {
    min-height: 126px;
  }

  .hero-heading .hero-1 .type-anim {
    min-width: 250px !important;
    width: 250px;
  }

  .hero-heading .hero-1 .type-anim__content {
    max-width: 250px;
  }

  .hero-middle .type-anim {
    min-width: 365px !important;
    max-width: 365px;
  }

  .hero-heading .type-anim__content {
    line-height: 42px;
  }

  .hero-text {
    margin-bottom: 20px;
  }

  .gradient-icon-absolute {
    display: none;
  }

  .hero-image-container {
    margin-top: 20px;
    padding: 0;
  }

  .hero-image-container .hero-image img {
    height: 365px;
    object-fit: cover;
    width: 100%;
    object-position: top;
  }

  .cwa2-section-2 {
    padding: 60px 20px;
  }

  .cwa2-section-2 .pvs-heading {
    margin-bottom: 15px;
  }

  .cwa2-section-2 .pvs-subheading {
    margin-bottom: 20px;
  }

  .wctn-info-row {
    padding: 30px;
    display: block;
  }

  .icon-btn {
    width: 40px;
    height: 40px;
  }

  .icon-btn__icon {
    width: 20px;
  }

  .icon-btn__back, .icon-btn__front {
    border-radius: 10px;
  }

  .icon-btn:focus-visible .icon-btn__back, .icon-btn:hover .icon-btn__back, .wctn-info-row.active .icon-btn .icon-btn__back {
    transform: rotate(25deg) translate3d(-0.5em, -0.25em, 0.5em);
  }

  .wctn-info-row {
    margin-bottom: 10px;
  }

  .wctn-info-row:last-child {
    margin-bottom: 0;
  }

  .wctn-left {
    padding-top: 7px;
    display: flex;
    margin-bottom: 20px;
  }

  .wctn-right h3 {
    line-height: 22px !important;
    margin-bottom: 10px;
  }

  .wctn-right li {
    margin-bottom: 10px;
  }

  .wctn-right li:last-child {
    margin-bottom: 0;
  }

  .wctn-right p, .wctn-right li, .wctn-right li span {
    color: #848589;
  }

  .cwa2-section-2::before {
    left: 0;
    height: 80px;
    background-image: url(../img/web-app-development/custom-web-app-2/footer-light-mobile.svg);
    background-position: bottom center;
  }

  .cwa2-section-3 {
    padding: 60px 20px;
  }

  .wwd-heading h2,
  .wwd-heading span {
    display: inline;
    font-size: 36px !important;
    line-height: 42px !important;
  }

  .cwa2-section-3 .wwd-heading {
    margin-bottom: 15px;
  }

  .cwa2-section-3 .wwd-content {
    margin-bottom: 20px;
  }

  .cwa2-section-3 .wwd-content p {
    font-size: 17px;
    line-height: 24px;
  }

  .cwa2-section-3 .wwd-image img {
    height: 230px;
    border-radius: 5px;
  }

  .cwa2-section-3 .wwd-service-box {
    margin-bottom: 10px;
  }

  .cwa2-section-3 .box-des-image {
    margin-top: 20px;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px 5px;
  }

  .cwa2-section-3 .wwd-service-box:last-child {
    margin-bottom: 10px;
  }

  .wwd-service--right .wwd-service-box:last-child {
    margin-bottom: 0;
  }

  .cwa2-section-4 {
    padding: 60px 20px;
  }

  .bwasection-second-box {
    display: block;
  }

  .cwa2-section-4::before, .cwa2-section-4::after {
    height: 80px;
    left: 0;
  }

  .cwa2-section-4::before {
    background-image: url(../img/web-app-development/custom-web-app-2/footer-light-mobile-top.svg);
  }

  .cwa2-section-4::after {
    background-image: url(../img/web-app-development/custom-web-app-2/footer-light-mobile-bottom.svg);
  }

  .cwa2-section-4 .pvs-heading {
    margin-bottom: 15px;
  }

  .cwa2-section-4 .pvs-subheading h4 {
    margin-bottom: 5px;
  }

  .cwa2-section-4 .bwa-image-mobile img {
    width: 100%;
  }

  .cwa2-section-4 .bwa-image-mobile {
    margin-bottom: 30px;
  }

  .cwa2-section-4 .bwa-button {
    text-align: center;
  }

  .cwa2-section-4 .bwa-button .button-openmd {
    padding: 11px 30px;
  }

  .cwa2-section-5 .agt-heading {
    margin-bottom: 15px;
  }

  .cwa2-section-7 {
    padding: 60px 0;
  }

  .ts-heading.ohc-heading,
  .ohc-content {
    padding: 0 20px;
  }

  .ohc-heading {
    margin-bottom: 15px;
  }

  .cwa2-section-7 .ts-heading h2 {
    text-align: center;
    line-height: 42px !important;
  }

  .cwa2-section-7 .ts-heading span {
    display: block;
  }

  .ohc-content {
    margin-bottom: 30px;
  }

  .ohc-box-container {
    display: block;
    width: 100%;
  }

  .ohc-box-container .slick-track {
    padding: 3px 0;
  }

  .ohc-box-container .slick-list {
    width: 100%;
  }

  .ohc-box {
    width: 270px;
    margin: 0 7px;
    padding: 40px 30px 50px;
    transition: 0.6s;
    min-height: 346px;
  }

  .ohc-box.active {
    background-color: transparent;
  }

  .ohc-box.slick-current::before {
    opacity: 1;
    transition: 0.5s;
    z-index: 2;
  }

  .ohc-box.slick-cloned {
    opacity: 0;
  }

  .ohc-box-content p {
    margin-bottom: 26px;
    font-size: 17px;
    line-height: 23px;
    min-height: 92px;
  }

  .ohc-box-content p {
    color: #848589;
    transition: 0.6s;
  }

  .slick-active .ohc-box-content p {
    color: #E5E5E5;
  }

  .ohc-button-container {
    margin-top: 30px;
  }

  .cwa2-section-8 .lbwa-heading {
    margin-bottom: 10px;
  }

  .cwa2-section-8 .lbwa-content {
    text-align: center;
    margin-bottom: 25px;
  }

  .cwa2-section-8 .lbwa-btn {
    margin-bottom: 0;
  }

  .cwa2-section-8 .lbwasection-box .box-left {
    position: relative;
    z-index: 2;
  }

  .cwa2-section-8 .lbwasection-box .box-right {
    margin-top: 15px;
  }
}

@media (max-width: 400px) {
  .pvs-heading span {
    font-size: 35px !important;
  }
}
