@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&family=Roboto:ital,wght@0,100;0,300;1,100&family=Urbanist:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins", sans-serif;
  background-color: #f7f7f9;
}

nav {
  display: flex;
  align-items: center;
}

.header {
  display: flex;
  background-color: #fff;
  justify-content: space-between;
  align-items: center;
  padding: 26px 24px 24px;
  border: none;
}

.logo {
  font-size: 18px;
  font-weight: 700;
  color: #6070c8;
  text-decoration: none;
  line-height: 20px;
  animation: rotate 0.8s ease;
}

.logo img {
  height: 30px;
}

@keyframes rotate {
  0% {
    transform: rotateY(0deg);
  }

  100% {
    transform: rotateY(360deg);
  }
}

hr {
  border-color: #dfe1e6;
}

nav .menu_icon {
  color: #6070ff;
}

.menu {
  display: none;
}

.popup-nav {
  display: none;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(60, 94, 215, 0.826);
  backdrop-filter: blur(8px);
}

.popup-nav-visible {
  display: flex;
}

.popup-header {
  display: flex;
  justify-content: flex-end;
}

.popup-menu li {
  padding: 12px 28px;
}

.popup-action a {
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  color: #396df2;
}

.popup-menu li a {
  font-size: 32px;
  font-weight: 600;
  line-height: 44px;
  color: #fff;
  text-decoration: none;
}

.cancel-button {
  margin: 16px 38px;
  background-color: transparent;
  border: none;
}

.popup-nav hr {
  width: 134px;
  height: 5px;
  display: flex;
  flex-direction: column;
  justify-self: flex-end;
  margin: auto auto 8px;
  background-color: #0d151e;
  border-radius: 10px;
  border: none;
}

.container h1 {
  font-size: calc(min(10vw, 40px));
  font-weight: 700;
  color: #172b4d;
}

.description {
  font-size: 16px;
  font-weight: 400;
  margin-top: 12px;
  color: #344563;
}

.social_media {
  font-size: 16px;
  font-weight: 500;
  margin-top: 12px;
  color: #4671dd;
}

.social_media_icons {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 20px;
  margin-top: 12px;
}

.container ul img {
  color: #505f79;
}

.container {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  padding-block: calc(min(20vw, 150px)) 45%;
  padding-inline: calc(min(8vw, 36px));
  background-image: url("./images/header-shapes\ mobile.png");
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom-left-radius: 70px;
  border: none;
}

.works_container {
  margin: 114px 24px 0;
  display: flex;
  flex-direction: column;
  gap: 88px;
}

.card {
  display: grid;
  padding: 16px;
  background-color: #fff;
}

.img-container img:nth-child(1) {
  transition: 0.3s;
  width: 100%;
}

.img-container img:nth-child(1):hover {
  scale: 1.09;
}

.desktop_image {
  display: none;
}

.work_desc {
  margin-top: 12px;
}

.work_desc h2 {
  font-size: calc(min(8vw, 35px));
  font-weight: 700;
  color: #172b4d;
}

.li_title h3 {
  font-size: 20px;
  font-weight: 500;
}

.work_desc .heading_3 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  margin-top: 12px;
}

.work_desc .heading_3 h3 {
  font-size: 13px;
  font-weight: 600;
  color: #5a769a;
}

.work_desc .heading_3 .main_h3 {
  color: #344563;
}

.work_desc .heading_3 span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #c1c7d0;
}

.work_desc p {
  margin-top: 2px;
  font-size: 15px;
  font-weight: 400;
  color: #344563;
}

.work_desc ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin-top: 12px;
}

.work_desc li {
  flex-shrink: 2;
  font-size: 12px;
  font-weight: 500;
  color: #604bff;
  background-color: #ebebff;
  padding: 4px 12px;
  border-radius: 8px;
}

.action {
  margin-top: 2%;
  display: flex;
  padding: 2% 0;
}

.btn {
  padding: 2.5%;
  color: #396df2;
  background-color: #fff;
  border: 1px solid #6070ff;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 500;
  transition: 0.3s ease;
  text-decoration: none;
}

.btn:hover {
  background-color: #2230d2;
  color: #fff;
  scale: 1.02;
  letter-spacing: 0.5px;
}

.btn:focus {
  background-color: #2230d2;
  color: #fff;
}

.about {
  margin-top: 114px;
}

.intro {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-top-right-radius: 70px;
  padding: 114px 24px;
}

.intro h2 {
  font-size: calc(min(12vw, 40px));
  font-weight: 700;
  color: #172b4d;
}

.about_action {
  margin-top: 12px;
  display: flex;
}

.language {
  padding: 12px;
}

.language ul {
  list-style: none;
}

.li_title {
  padding: 24px 12px;
  display: flex;
  justify-content: space-between;
}

.li_title .material-symbols-outlined {
  color: #5e6c84;
  margin-right: 20px;
}

.li_title .forward_arrow {
  font-size: 14px;
  font-weight: bolder;
}

.li_container {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.li_card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 9px 12px;
  gap: 16px;
  background-color: #f7f7f9;
}

.li_card h4 {
  font-size: 15px;
  font-weight: 500;
}

.Contact_form_container {
  background-color: #fff;
  width: 100%;
}

.Contact_form {
  display: flex;
  flex-direction: column;
  padding: 103px 24px 8px;
  background-color: #4b5af0;
  border-top-left-radius: 70px;
  background-image: url("images/contact-form/mobile-contact-form.svg");
  background-position: right 25px;
  background-repeat: no-repeat;
}

.form_heading {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2px 0;
}

.form_heading h2 {
  font-size: calc(min(12vw, 40px));
  font-weight: 700;
  line-height: 52px;
  color: #fff;
}

.Contact_form p {
  color: #ebefff;
  font-size: 19px;
  background-color: #4b5af0;
  font-weight: 400;
  margin-top: 12px;
  text-align: center;
}

.form {
  display: flex;
  flex-direction: column;
}

.user_name {
  margin-top: 37px;
  color: #172b4d;
  border-radius: 8px;
  padding: 15px 38px 15px 16px;
  border: none;
  font-size: 17px;
  font-weight: 400;
  transition: 0.2s linear;
}

.user_email {
  padding: 15px 38px 15px 16px;
  color: #172b4d;
  margin-top: 20px;
  border-radius: 8px;
  border: none;
  font-size: 17px;
  font-weight: 400;
  transition: 0.3s linear;
}

.message {
  margin-top: 18px;
  padding: 15px 38px 15px 16px;
  font-size: 15px;
  font-weight: 400;
  border-radius: 8px;
  border: none;
  transition: 0.3s linear;
}

input:hover,
input:focus,
textarea:hover,
textarea:focus {
  transform: translateY(-2px);
  scale: 1.015;
}

label {
  display: none;
}

::placeholder {
  color: #b3bac5;
}

.form button {
  margin-top: 22px;
  padding: 12px 16px;
  background-color: #fff;
  border-radius: 8px;
  border: none;
  color: #6070c8;
  font-size: 17px;
  font-weight: 500;
}

.Contact_form hr {
  width: 134px;
  height: 5px;
  margin: 32px auto 0;
  background-color: #0d151e;
  border-radius: 10px;
  border: none;
}

.error {
  margin-top: 5px;
  color: #f71a46;
  font-size: 17px;
  font-weight: 500;
  height: 13px;
  margin-bottom: 2%;
}

.success {
  margin-top: 5px;
  color: rgb(43, 240, 43);
  font-size: 17px;
  font-weight: 500;
  height: 13px;
  margin-bottom: 2%;
}

/* popup card style */

.popup-card1,
.popup-card2,
.popup-card3,
.popup-card4,
.popup-card5 {
  display: none;
  justify-content: center;
  background-color: transparent;
  backdrop-filter: blur(12px);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 999;
  padding: 2% 8%;
  overflow: auto;
}

.popup-cardvisible {
  display: flex;
}

.popup-work_desc {
  display: flex;
  flex-direction: column;
  max-width: 97%;
  margin-inline: auto;
  padding: 4%;
  background-color: #fff;
  border: 1px solid #dfe1e6;
  border-radius: 24px;
  overflow: auto;
}

.popup-desktop_image {
  margin-top: 2%;
  border-radius: 8px;
}

.popup-description {
  margin-top: 5%;
  display: grid;
}

.popup-description p {
  font-size: 16px;
  font-weight: 400;
}

.popup-stack-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin-top: 12px;
}

.popup-stack-links li {
  font-size: 12px;
  font-weight: 500;
  color: #604bff;
  background-color: #ebebff;
  padding: 4px 12px;
  border-radius: 8px;
}

.popup-action {
  display: flex;
  justify-content: center;
  margin-top: 10%;
  gap: 3%;
}

.popup-action a:hover {
  color: #fff;
}

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

.details-header {
  display: flex;
  justify-content: space-between;
  margin-right: 1rem;
}

.details-header h2 {
  font-size: 40px;
  font-weight: 700;
  color: #091e42;
}

.popup-cancel-icon1,
.popup-cancel-icon2,
.popup-cancel-icon3,
.popup-cancel-icon4,
.popup-cancel-icon5 {
  background: none;
  border: none;
  align-items: center;
  justify-content: center;
}

.popup-work_desc .heading_3 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
}

.popup-work_desc .heading_3 h3 {
  font-size: 15px;
  font-weight: 500;
  color: #5a769a;
}

.popup-work_desc .heading_3 .main_h3 {
  color: #344563;
}

.popup-work_desc .heading_3 span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #c1c7d0;
}

/* popup card style end */
@media (min-width: 768px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 20px 142px 20px 155px;
    border: none;
    z-index: 3;
  }

  nav .menu_icon {
    display: none;
  }

  nav .menu {
    display: flex;
    list-style: none;
    gap: 10px;
    align-items: center;
  }

  nav .menu a {
    padding-inline: 12px;
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
    color: #344563;
  }

  .container {
    background-image: url("./images/Desktop_bg/Header\ bg.svg");
    background-position: center;
    background-size: contain;
    border-bottom-left-radius: 150px;
    padding-block: 0 172px;
    padding-inline: calc(min(10vw, 81px));
    margin-top: 76px;
  }

  .main_container {
    margin: 160px auto 10px;
  }

  .container h1 {
    font-size: 35px;
    color: #091e42;
  }

  .description {
    font-size: 20px;
    max-width: 920px;
  }

  .social_media {
    font-size: 16px;
  }

  .social_media_icons {
    margin-top: 14px;
  }

  .works_container {
    display: grid;
    gap: 142px;
  }

  .card {
    display: flex;
    margin-inline: auto;
    gap: 22px;
    padding: 24px 22px 24px 24px;
    max-width: 1156px;
    background-color: #fff;
    border: 1px solid #dfe1e6;
    border-radius: 24px;
  }

  .img-container {
    display: flex;
    max-width: 569px;
  }

  .desktop_image {
    display: block;
    width: 100%;
    object-fit: fill;
    transition: 0.3s;
  }

  .desktop_image:hover {
    scale: 1.04;
  }

  .img-container img:nth-child(1) {
    display: none;
  }

  .work_desc {
    margin-top: 12px;
    max-width: 445px;
    padding: 24px;
  }

  .work_desc h2 {
    font-size: 40px;
    font-weight: 700;
    color: #091e42;
  }

  .heading_3 h3 {
    font-size: 18px;
    font-weight: 400;
    color: #5a769a;
  }

  .heading_3 .main_h3 {
    color: #344563;
    font-weight: 500;
  }

  .work_desc p {
    margin-top: 24px;
    font-size: 16px;
  }

  .work_desc ul {
    margin-top: 24px;
  }

  .action {
    margin-top: 24px;
    display: flex;
    padding-top: 16px;
  }

  .about {
    margin-top: 142px;
  }

  .intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    flex-direction: row;
    gap: 25px;
    background-color: #fff;
    border-top-right-radius: 150px;
    padding: 0;
    padding-block: 142px 134px;
    padding-inline: calc(min(8vw, 142px));
  }

  .description_container {
    max-width: 447px;
  }

  .intro h2 {
    color: #091e42;
  }

  .description_container p {
    font-size: 16px;
    font-weight: 400;
    color: #344563;
  }

  .description_container .social_media_icons {
    margin-top: 16px;
    padding-inline: 10px;
  }

  .social_media_icons li {
    padding-block: 10px;
  }

  .about_action {
    margin-top: 24px;
  }

  .language {
    padding: 0;
  }

  .li_title {
    padding: 24px;
  }

  .li_title h3 {
    color: #344563;
  }

  .li_container {
    padding: 12px;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .li_card {
    display: grid;
    width: 122px;
    padding: 12px 12px 20px;
    gap: 16px;
  }

  .li_card h4 {
    font-size: 15px;
    font-weight: 500;
    color: #253858;
  }

  hr {
    border-color: #dfe1e6;
  }

  .Contact_form {
    padding: 13% 23% 12%;
    border-top-left-radius: 150px;
    background-image: url("images/contact-form/desktop-contact-form.svg");
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
  }

  .Contact_form hr {
    display: none;
  }

  .error {
    display: flex;
    justify-content: flex-start;
    margin-left: 3%;
    margin-top: 2%;
    margin-bottom: 0;
    color: #f71a46;
    font-size: 15px;
    font-weight: 500;
    height: 13px;
  }

  .success {
    display: flex;
    justify-content: flex-start;
    margin-left: 3%;
    margin-top: 2%;
    margin-bottom: 0;
    color: rgb(43, 240, 43);
    font-size: 15px;
    font-weight: 500;
    height: 13px;
  }

  .popup-work_desc {
    max-width: 92%;
  }

  .details-header h2 {
    font-size: 32px;
  }

  .popup-description {
    display: flex;
  }

  .popup-action {
    display: flex;
    margin-top: 20%;
    justify-content: space-between;
  }

  .popup-stack-links ul {
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 8px;
    list-style: none;
    margin-top: 12px;
    margin-right: 3em;
  }

  .popup-stack-links {
    margin-left: 3%;
  }
}
