@font-face {
  font-family: "Cera Pro Black";
  src: url("/static/fonts/Cera\ Pro\ Black.otf") format("opentype");
  /* src: url('https://d3i7ke5fj3tp7c.cloudfront.net/fonts/cera-pro/Cera+Pro+Black.otf') format('opentype'); */
}

@font-face {
  font-family: "Cera Pro Medium";
  src: url("/static/fonts/Cera\ Pro\ Medium.otf") format("opentype");
  /* src: url('https://d3i7ke5fj3tp7c.cloudfront.net/fonts/cera-pro/Cera+Pro+Medium.otf') format('opentype'); */
}

@font-face {
  font-family: "Cera Pro Bold";
  src: url("/static/fonts/Cera\ Pro\ Bold.otf") format("opentype");
  /* src: url('https://d3i7ke5fj3tp7c.cloudfront.net/fonts/cera-pro/Cera+Pro+Bold.otf') format('opentype'); */
}

@font-face {
  font-family: "Cera Pro Regular";
  src: url("/static/fonts/Cera\ Pro\ Regular.otf") format("opentype");
  /* src: url('https://d3i7ke5fj3tp7c.cloudfront.net/fonts/cera-pro/Cera+Pro+Regular.otf') format('opentype'); */
}

@font-face {
  font-family: "Cera Pro Thin";
  src: url("/static/fonts/Cera\ Pro\ Thin.otf") format("opentype");
  /* src: url('https://d3i7ke5fj3tp7c.cloudfront.net/fonts/cera-pro/Cera+Pro+Light.otf') format('opentype'); */
}

:root {
  --gradient: linear-gradient(90deg, #7237bd 0%, #fd0988 99.8%);
  --gradient-v: linear-gradient(180deg, #7237bd 0%, #fd0988 99.8%);
  --gradient-45: linear-gradient(120deg, #7237bd 0%, #fd0988 99.8%);
  --text-gradient: -webkit-linear-gradient(
    0deg,
    #fcdc00 0%,
    #fbc519 10%,
    #fa954e 32%,
    #f96e79 53%,
    #f95397 72%,
    #f83cb0 100%
  );
  --text-small-gradient: -webkit-linear-gradient(
    0deg,
    #fcdc00 0%,
    #fbc519 0%,
    #fa954e 12%,
    #f96e79 23%,
    #f95397 62%,
    #fd0988 100%
  );
  --text-gradient-rev: -webkit-linear-gradient(
    180deg,
    #fcdc00 0%,
    #fbc519 10%,
    #fa954e 32%,
    #f96e79 53%,
    #f95397 72%,
    #f83cb0 100%
  );
  --bg-color: #0d0b17;
  --screen: 1440;
  --container-padding: 33px;
  --vh: 6.72px;
  --r-container: clamp(16px, calc((80 / (var(--screen) / 100)) * 1vw), 155px);
  --r-mob-container: clamp(16px, calc((28 / (560 / 100)) * 1vw), 40px);
  --header-h: clamp(76px, calc((124 / (var(--screen) / 100)) * 1vw), 164px);
  --r248: clamp(190px, calc((248 / (var(--screen) / 100)) * 1vw), 315px);
  --r200: clamp(142px, calc((200 / (var(--screen) / 100)) * 1vw), 267px);
  --r144: clamp(100px, calc((144 / (var(--screen) / 100)) * 1vw), 192px);
  --r120: clamp(80px, calc((120 / (var(--screen) / 100)) * 1vw), 160px);
  --r104: clamp(74px, calc((104 / (var(--screen) / 100)) * 1vw), 139px);
  --r100: clamp(71px, calc((100 / (var(--screen) / 100)) * 1vw), 133px);
  --r80: clamp(40px, calc((80 / (var(--screen) / 100)) * 1vw), 107px);
  --r72: clamp(20px, calc((72 / (var(--screen) / 100)) * 1vw), 96px);
  --r64: clamp(48px, calc((64 / (var(--screen) / 100)) * 1vw), 85px);
  --r56: clamp(40px, calc((56 / (var(--screen) / 100)) * 1vw), 75px);
  --r48: clamp(24px, calc((48 / (var(--screen) / 100)) * 1vw), 64px);
  --r40: clamp(20px, calc((40 / (var(--screen) / 100)) * 1vw), 54px);
  --r32: clamp(28px, calc((32 / (var(--screen) / 100)) * 1vw), 42px);
  --r30: clamp(30px, calc((30 / (var(--screen) / 100)) * 1vw), 40px);
  --r16: clamp(14px, calc((16 / (var(--screen) / 100)) * 1vw), 22px);
}

html {
  scroll-behavior: smooth;
}

*,
::before,
::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

body {
  background-color: #191930;
  background-repeat: no-repeat;
  font-family: "Cera Pro Regular", sans-serif !important;
  color: #fff;
  height: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

.viewport {
  overflow: hidden;
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

main {
  max-width: 96vw;
  margin: 34px auto;
  background-color: var(--bg-color);
  border-radius: 2vw;
  height: 100%;
  scroll-behavior: smooth;
  overflow: hidden;
  position: relative;
}

.page__container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding-left: var(--r-container);
  padding-right: var(--r-container);
  max-width: calc(1610px + var(--r-container) * 2);
}

.carousel-indicators [data-bs-target] {
  border-radius: 10px;
}

.carousel-item img {
  max-width: 100%;
  height: auto;
}

button.active {
  box-shadow: 0 0 6px 0 rgb(157 96 212 / 50%) !important;
}

button {
  cursor: pointer !important;
}

/* Gradient Button */
button.btn-outline-light.gradient {
  box-shadow: 0 0 6px 0 rgba(157, 96, 212, 0.5);
  border: solid 2px transparent;
  background-image: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    var(--text-gradient);
  background-origin: border-box;
  background-clip: content-box, border-box;
  box-shadow: 2px 1000px 1px var(--bg-color) inset;
}

.gradient-text {
  background: var(--text-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-text-rev {
  background: var(--text-gradient-rev);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-text-small-rev {
  background: var(--text-gradient-rev);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-text-small {
  background: var(--text-small-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.button-wrap .gradient-text {
  font-size: 14px;
}

/* LATEST UPDATES SECTION */

/* .double__stroke{
    max-width: 10vw;
    position: absolute;
    right: 15px;
} */

.container-fluid.section.portfolio {
  margin: 0;
  padding: unset;
  overflow: hidden;
}

.contact__text {
  font-size: 1.2rem;
  line-height: 2.5rem;
  letter-spacing: 0.1rem;
  padding: 1rem 2rem 1rem 0;
}

.showreel {
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 0 2.4rem;
}

/* .hero-stroke__wrapper{
    position: relative;
    left: -5rem;
    top: -1rem;
} */
@media screen and (min-width: 1440px) {
  .page__container {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: var(--r-container);
    padding-right: var(--r-container);
    max-width: unset;
  }

  .gradient-text,
  .gradient-text-rev,
  .gradient-text-small,
  .gradient-text-small-rev {
    font-size: 30px;
  }
}

@media screen and (max-width: 380px) {
  button.btn-outline-light.gradient {
    box-shadow: 0 0 6px 0 rgba(157, 96, 212, 0.5);
    border: solid 2px transparent;
    background-image: linear-gradient(
        rgba(255, 255, 255, 0),
        rgba(255, 255, 255, 0)
      ),
      var(--text-gradient);
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px var(--bg-color) inset;
    padding: 0.2rem var(--r16) !important;
  }

  button.btn-outline-light.gradient .gradient-text {
    font-size: 14px;
  }

  main {
    margin: 10px auto;
  }
}

.section-blue {
  background-color: purple;
  color: white;
  text-align: center;
  padding: 60px 20px;
}

.section-blue h2 {
  font-size: 1.8rem;
  margin-top: 20px;
  margin-bottom: 10px;
}

.section-blue p {
  max-width: 700px;
  margin: 0 auto 20px;
  font-size: 1rem;
}

.section-blue .btn {
  display: inline-block;
  background-color: #ffff;
  color: #0f3c5d;
  padding: 12px 24px;
  border-radius: 25px;
  font-weight: bold;
  text-decoration: none;
  margin-top: 10px;
  transition: background-color 0.3s ease;
}

.section-blue .btn:hover {
  background-color: rgb(212, 7, 212);
}

.section-white {
  padding: 60px 20px;
  max-width: 1000px;
  margin: 0 auto;
}

.section-white h3 {
  color: white;
  font-size: 1.5rem;
  margin-bottom: 20px;
}

.section-white p {
  margin-bottom: 20px;
  font-size: 1rem;
}

@media (max-width: 768px) {
  .section-blue h2 {
    font-size: 1.4rem;
  }

  .section-white h3 {
    font-size: 1.3rem;
  }

  .section-blue .btn {
    font-size: 0.9rem;
    padding: 10px 20px;
  }
}

/* Section Specific Styling */
.web-design-returns {
  background-color: #0b3954;
  color: #ffffff;
  text-align: center;
}

.web-design-returns p {
  max-width: 700px;
  margin: 0 auto 20px auto;
}

.web-design-returns-btn {
  background: #89d7d7;
  color: #0b3954;
  padding: 10px 20px;
  border: none;
  border-radius: 25px;
  font-weight: bold;
  cursor: pointer;
}

/* Text-image split section */
.text-image-split-section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
}

.text-image-split-section .text-block {
  flex: 1 1 400px;
}

.text-image-split-section .image-block {
  flex: 1 1 400px;
  text-align: center;
}

.text-image-split-section .image-block img {
  max-width: 100%;
  height: auto;
}

/* Two-column grid section */
.two-column-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  margin-top: 30px;
}

.two-column-grid h3 {
  margin-bottom: 10px;
  font-size: 1.2rem;
  color: #0b3954;
}

/* Benefits section */
.benefits-feature-section {
  background-color: #e3c96f;
  color: #ffffff;
  text-align: center;
}

.benefits-feature-section h2 {
  color: #ffffff;
}

.benefits-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 40px;
  font-weight: bold;
}

/* Call-to-action Section */
.web-cta-section {
  background-color: #fff064;
  text-align: center;
}

.web-cta-button {
  background: #0b3954;
  color: white;
  border: none;
  padding: 12px 25px;
  font-weight: bold;
  border-radius: 30px;
  margin-top: 20px;
  cursor: pointer;
}

/* Case Studies Section */
.case-studies-section h2 {
  text-align: center;
  color: #0074c7;
}

.case-study-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin-top: 30px;
}

.case-study-item {
  flex: 1 1 300px;
  text-align: center;
}

.case-study-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

/* Anchor and Paragraph Styling */
a.text-link-custom {
  color: #fff064;
  text-decoration: none;
  font-weight: bold;
}

a.text-link-custom:hover {
  text-decoration: underline;
}

p.text-paragraph-desc {
  color: #fff;
  font-size: 1rem;
  line-height: 1.7;
}

@media (max-width: 768px) {
  section {
    padding: 40px 15px;
  }

  h2 {
    font-size: 1.5rem;
  }

  .two-column-grid,
  .benefits-feature-grid {
    grid-template-columns: 1fr;
  }
}

.project {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.project img {
  width: 50%;
  height: auto;
  border-radius: 10px;
  margin-bottom: 10px;
}
