@font-face {
  font-family: "PP Mori";
  src: url("./fonts/PP_Mori/PPMori-Extralight.otf");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: "PP Mori";
  src: url("./fonts/PP_Mori/PPMori-Regular.otf");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "PP Mori";
  src: url("./fonts/PP_Mori/PPMori-SemiBold.otf");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Clash Display";
  src: url("./fonts/Clash_Display/ClashDisplay-Extralight.otf");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: "Clash Display";
  src: url("./fonts/Clash_Display/ClashDisplay-Light.otf");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Clash Display";
  src: url("./fonts/Clash_Display/ClashDisplay-Regular.otf");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Clash Display";
  src: url("./fonts/Clash_Display/ClashDisplay-Medium.otf");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Clash Display";
  src: url("./fonts/Clash_Display/ClashDisplay-Semibold.otf");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Clash Display";
  src: url("./fonts/Clash_Display/ClashDisplay-Bold.otf");
  font-weight: 700;
  font-style: normal;
}

.lower-img-absolute-wrapper {
  max-width: 208px;
}

.lower-img-absolute-wrapper img {
  width: 100%;
}

.arrow-to-testimonial {
  max-width: 64px;
}

.arrow-to-testimonial img {
  width: 100%;
}

:root {
  --text-color: #e1f2fe;
  --yellow-color: #ffc857;
  /*--blue-color: #005bbb;*/
  --blue-color: rgb(0, 91, 987);
  --background-color: #000110;
}

html {
  scroll-behavior: smooth;
}

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

body {
  background-color: var(--background-color);
  font-family: "PP mori", sans-serif;
  position: relative;
  overflow-x: hidden;
}

body section {
  background-image: linear-gradient(#0000, #0a0f5924 50%, #fff0);
  overflow-x: clip;
}

header {
  position: fixed;
  width: 100%;
  z-index: 999;
  background-color: #000110;
  border-bottom: 1px solid rgb(225, 242, 254, 0.1);
}

.nav-container {
  max-width: 1340px;
  padding: 0 20px;
  margin: 0 auto;
}

/* MOBILE */

.btn-mobile-nav {
  border: none;
  background: none;
  cursor: pointer;
  display: flex;
  display: none;
}

.icon-mobile-nav {
  display: inline-flex;
  color: var(--text-color);
  width: 20px;
  height: 20px;
}

.icon-mobile-nav img {
  width: 100%;
}

.icon-mobile-nav.close {
  display: none;
}

.container {
  max-width: 1140px;
  padding: 0 20px;
  margin: 0 auto;
}

.yellow-text {
  color: var(--yellow-color);
}

.blue-text {
  color: var(--blue-color);
}

.underline {
  text-decoration: underline;
  text-decoration-color: var(--yellow-color);
  text-decoration-thickness: 2px;
  text-underline-offset: 10px;
}

.nav-container .navigation-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px 0;
}

.nav-container .navigation-wrapper nav {
  display: flex;
  gap: 48px;
  align-items: center;
}

.nav-container .navigation-wrapper nav a {
  color: var(--text-color);
  font-size: 1rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.3s;
}

.nav-container .navigation-wrapper nav a:last-child {
  border: 1px solid var(--text-color);
  padding: 14px 14px;
  border-radius: 5px;
}

.nav-container .navigation-wrapper nav a:hover {
  color: var(--yellow-color);
}

.nav-container .navigation-wrapper nav a:last-child:hover {
  border: 1px solid var(--yellow-color);
}

/* HERO SECTION */

.hero {
  position: relative;
}

.hero-wrapper {
  max-width: 1000px;
  padding: 250px 0 140px 0;
  position: relative;
}

.hero-wrapper .preheading-text-wrapper {
  display: flex;
  gap: 10px;
  color: var(--text-color);
  text-transform: uppercase;
  font-family: "Clash Display";
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 2px;
  margin: 16px 0;
}

.hero-wrapper .preheading-text-wrapper p:nth-child(odd) {
  background: linear-gradient(
    270deg,
    rgba(93, 76, 182, 1) 0%,
    rgba(0, 91, 187, 1) 100%
  );
  color: transparent;
  background-clip: text;
}

.hero-wrapper h1 {
  color: var(--text-color);
  font-size: 4rem;
  font-weight: 400;
}

.hero-wrapper .hero-paragraph {
  color: var(--text-color);
  font-size: 1.25rem;
  font-weight: 400;
  margin: 48px 0;
  max-width: 740px;
  line-height: 1.5;
}

.cta-buttons-wrapper {
  display: flex;
  gap: 24px;
}

a {
  text-decoration: none;
  text-transform: uppercase;
  color: var(--text-color);
  border-radius: 5px;
}

.primary-btn {
  width: 172px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  padding: 14px 0;

  background-color: var(--blue-color);
  transition: 0.3s;
}

.secondary-btn {
  width: 172px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  padding: 14px 0;

  border: 1px solid var(--text-color);
  transition: 0.3s;
}

.primary-btn:hover {
  background-color: rgb(0, 91, 987, 0.8);
}

.secondary-btn:hover {
  color: var(--yellow-color);
  border: 1px solid var(--yellow-color);
}

.upper-img-absolute-wrapper {
  position: absolute;
  top: 180px;
  right: 80px;
  max-width: 141px;
}

.upper-img-absolute-wrapper img {
  width: 100%;
}

.lower-img-absolute-wrapper {
  position: absolute;
  bottom: 140px;
  right: 60px;
}

.outer-circle {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%);
  width: 400px;
  height: 400px;
  border: 1px solid var(--blue-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.inner-circle {
  width: 300px;
  height: 300px;
  border: 1px solid var(--blue-color);
  border-radius: 50%;
}

/* ABOUT */

.about-wrapper {
  padding: 200px 0 40px 0;
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.about-wrapper .portrait-wrapper {
  max-width: 360px;
}

.about-wrapper .portrait-wrapper img {
  width: 100%;
}

.about-wrapper .about-content-wrapper {
  max-width: 700px;
  display: flex;
  flex-direction: column;
}

.preheading-text {
  color: var(--text-color);
  text-transform: uppercase;
  font-family: "Clash Display";
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 2px;
  background: linear-gradient(
    270deg,
    rgba(93, 76, 182, 1) 0%,
    rgba(0, 91, 187, 1) 100%
  );
  color: transparent;
  background-clip: text;
  display: block;
}

.h2-content-wrapper {
  display: inline-block;
  margin: 8px 0 32px 0;
}

/* samo za about preheading */

.about-wrapper .preheading-text {
  color: var(--text-color);
  text-transform: uppercase;
  font-family: "Clash Display";
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 2px;
  background: linear-gradient(
    270deg,
    rgba(93, 76, 182, 1) 0%,
    rgba(0, 91, 187, 1) 100%
  );
  color: transparent;
  background-clip: text;
  display: block;
  align-self: flex-start;
}

.about-wrapper .h2-content-wrapper {
  display: inline-block;
  margin: 8px 0 32px 0;
  align-self: flex-start;
}

.h2-content-wrapper h2 {
  color: var(--text-color);
  font-size: 3rem;
  font-weight: 400;
  padding-right: 10px;
  margin-top: 8px;
}

.h2-content-wrapper .h2-underline {
  width: 100%;
  height: 3px;
  background: linear-gradient(
    270deg,
    rgba(93, 76, 182, 1) 0%,
    rgba(0, 91, 187, 1) 100%
  );
}

.about-wrapper .about-content-wrapper .about-paragraph-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about-wrapper .about-content-wrapper .about-paragraph-wrapper p {
  color: var(--text-color);
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 400;
}

.about-wrapper .about-content-wrapper .about-paragraph-wrapper p:last-child {
  max-width: 250px;
}

.about-wrapper .testimonial-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 480px;
  gap: 16px;
  margin-left: auto;
  margin-right: 15%;
  margin-top: -20px;
}

.about-wrapper .testimonial-wrapper .testimonial img {
  display: block;
}

.about-wrapper .testimonial-wrapper .testimonial .testimonial-stars {
  margin: 0 auto;
}

.about-wrapper .testimonial-wrapper .testimonial p {
  color: var(--text-color);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.53;
  text-align: center;
  max-width: 420px;
  margin-top: 16px;
  margin: 16px auto 0 auto;
}

.about-wrapper .testimonial-wrapper .testimonial img:last-child {
  margin-left: auto;
  margin-top: 20px;
  margin-right: -20px;
}

/* SERVICES */
.services {
  position: relative;
}

.services-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 220px 0 80px 0;
}

.services-wrapper .h2-content-wrapper {
  display: inline-block;
  margin-top: 8px;
}

.services-wrapper .services-boxes-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 60px;
  gap: 60px;
}

.services-wrapper .services-boxes-wrapper .services-box {
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: center;
}

.services-wrapper .services-boxes-wrapper .services-box .services-icon {
  max-width: 46px;
}

.services-wrapper .services-boxes-wrapper .services-box .services-icon img {
  width: 100%;
}

.services-wrapper .services-boxes-wrapper .services-box h3 {
  font-size: 2rem;
  color: var(--yellow-color);
  font-weight: 400;
  text-align: center;
}

.services-wrapper .services-boxes-wrapper .services-box p {
  max-width: 275px;
  font-size: 0.875rem;
  color: var(--text-color);
  text-align: center;
  font-weight: 300;
}

.services .services-circles-wrapper {
  position: absolute;
  top: 0;
  transform: translate(0, -50%);
}

.services .services-circles-wrapper img {
  width: 100%;
}

.services .services-circle-2-wrapper {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%);
}

.services .services-circle-2-wrapper img {
  max-width: 100%;
}

/* PORTFOLIO */

.portfolio-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 200px 0 160px 0;
}

.portfolio-wrapper .portfolio-projects-wrapper {
  display: flex;
  justify-content: center;
  gap: 36px;
  margin-top: 24px;
}

.portfolio-wrapper .portfolio-projects-wrapper .portfolio-project {
  width: 100%;
}

.portfolio-wrapper .portfolio-projects-wrapper .portfolio-image-wrapper {
  width: 340px;
  background-color: #000110;
  overflow: clip;
  border-radius: 10px;
  position: relative;
  z-index: 2;
}

.portfolio-wrapper .portfolio-projects-wrapper .portfolio-image-wrapper img {
  object-fit: cover;
  width: 100%;
  border-radius: 10px;
  transition: 0.3s;
}

.portfolio-wrapper
  .portfolio-projects-wrapper
  .portfolio-image-wrapper:hover
  img {
  transform: scale(1.1);
}

.portfolio-wrapper
  .portfolio-projects-wrapper
  .portfolio-project
  .portfolio-description {
  min-height: 200px;
  width: 100%;
  padding: 32px;
  background-color: #000110;
  position: relative;
}

.portfolio-wrapper
  .portfolio-projects-wrapper
  .portfolio-project
  .portfolio-description
  .project-name {
  color: var(--yellow-color);
  font-size: 1.75rem;
  font-weight: 400;
  text-transform: capitalize;
  transition: 0.3s;
}

.portfolio-wrapper
  .portfolio-projects-wrapper
  .portfolio-project
  .portfolio-description
  .project-name:hover {
  color: rgb(255, 200, 87, 0.7);
}

.portfolio-wrapper
  .portfolio-projects-wrapper
  .portfolio-project
  .portfolio-description
  p {
  font-size: 0.875rem;
  color: var(--text-color);
  margin: 16px 0 20px 0;
  font-weight: 300;
}

.portfolio-wrapper
  .portfolio-projects-wrapper
  .portfolio-project
  .portfolio-description
  .view-project {
  display: block;
  color: var(--yellow-color);
  font-size: 0.875rem;
  text-transform: capitalize;
  position: absolute;
  right: 32px;
  bottom: 24px;
  transition: 0.3s;
}

.portfolio-wrapper
  .portfolio-projects-wrapper
  .portfolio-project
  .portfolio-description
  .view-project:hover {
  color: rgb(255, 200, 87, 0.7);
}

/* CALL TO ACTION */
.call-to-action {
  position: relative;
}

.call-to-action .outer-circle {
  left: 0;
  bottom: 0;
  transform: translate(-50%, 50%);
}

.cta-wrapper {
  display: flex;
  gap: 36px;
  align-items: center;
  padding: 60px 0 40px 0;
}

.cta-wrapper .cta-text-wrapper .its-free-img {
  display: block;
  margin-left: auto;
}

.cta-wrapper .cta-text-wrapper p {
  color: var(--text-color);
  font-size: 2rem;
  line-height: 1.3;
  margin-bottom: 48px;
}

.cta-wrapper .cta-text-wrapper .secondary-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-transform: capitalize;
}

.cta-wrapper .cta-text-wrapper .secondary-btn img {
  display: block;
}

.cta-wrapper .cta-image-wrapper {
  max-width: 320px;
}

.cta-wrapper .cta-image-wrapper img {
  width: 100%;
}

/* CONTACT SECTION */

.contact-wrapper {
  padding: 220px 0 140px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.contact-wrapper .contact-content {
  max-width: 416px;
  padding: 120px 0;
  position: relative;
}

.contact-wrapper .contact-content .preheading-text {
  display: inline-block;
}

.contact-wrapper .contact-content .contact-paragraph {
  color: var(--text-color);
  font-size: 1.125rem;
  margin-top: 24px;
  margin-bottom: 38px;
}

.contact-wrapper .contact-content .contact-mail-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
}

.contact-wrapper .contact-content .contact-mail-wrapper span {
  font-size: 1rem;
  color: var(--text-color);
}

.contact-wrapper .contact-content .contact-arrow-wrapper {
  position: absolute;
  right: 0;
  bottom: 0;
}

.contact-wrapper .form-wrapper {
  position: relative;
}

.contact-wrapper .form-wrapper .form-image-wrapper {
  max-width: 250px;
  position: absolute;
  right: 16px;
  top: -40px;
}

.contact-wrapper .form-wrapper .form-image-wrapper img {
  width: 100%;
}

.contact-wrapper form {
  background-color: #000110;
  max-width: 526px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 32px;
  display: block;
  border: 0.1px solid var(--text-color);
  border-radius: 5px;
}

.contact-wrapper form h3 {
  color: var(--yellow-color);
  font-size: 1.75rem;
  font-weight: 400;
  margin-bottom: 32px;
}

.contact-wrapper form input {
  color: var(--text-color);
  background-color: transparent;
  border: none;
  padding: 14px 0;
  font-size: 1rem;
  width: 100%;
}

.contact-wrapper form input:active {
  border: none;
}

.contact-wrapper form textarea {
  color: var(--text-color);
  background-color: transparent;
  border: none;
  padding: 14px 0;
  font-size: 1rem;
  min-height: 360px;
  width: 100%;
}

input:focus,
textarea:focus {
  outline: none;
}

.contact-wrapper form button {
  background-color: var(--blue-color);
  color: var(--text-color);
  padding: 10px 32px;
  border-radius: 5px;
  font-size: 1.25rem;
  transition: 0.3s;
}

.contact-wrapper form button:hover {
  cursor: pointer;
  background-color: rgb(0, 91, 987, 0.8);
}

/* FOOTER */

.upper-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0 64px 0;
  border-bottom: 1px solid var(--text-color);
}

.upper-footer nav {
  display: flex;
  gap: 48px;
}

.upper-footer .footer-socials-wrapper {
  display: flex;
  gap: 24px;
}

.upper-footer nav a {
  transition: 0.3s;
}

.upper-footer nav a:hover {
  color: var(--yellow-color);
}

.lower-footer {
  display: flex;
  justify-content: center;
  padding: 32px 0 72px 0;
}

.lower-footer p {
  font-size: 1rem;
  color: var(--text-color);
  font-weight: 200;
}
