:root {
  --bs-primary: #d90915;
  --bs-primary-rgb: 217, 9, 21;
  --bs-primary-dark: #b80e17;
  --bs-primary-light: #ec4048;
  --bs-primary-bg-subtle: rgba(var(--bs-primary-rgb), 0.3);
  --bs-primary-border-subtle: rgba(var(--bs-primary-rgb), 0.6);
}

body {
  font-family: "Poppins", sans-serif;
  color: #3a3939;
}

textarea {
  resize: none;
}

iframe {
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: inherit;
  text-decoration: none;
}

b, strong {
  font-weight: 700;
}

.text-underline {
  text-decoration: underline;
}

.fw-thin {
  font-weight: 100 !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-extrabold {
  font-weight: 800 !important;
}

.fw-black {
  font-weight: 900 !important;
}

.fs-italic {
  font-style: italic;
}

.anchor-overlay {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: 3;
}

.z-index-1 {
  z-index: 1;
}

.lh-md {
  line-height: 1.8;
}

.text-hover-white:hover {
  color: #fff !important;
}

@media (min-width: 1200px) {
  .display-0 {
    font-size: 6rem;
  }
}

.ls-sm {
  letter-spacing: 0.25rem;
}

.ls-md {
  letter-spacing: 0.5rem;
}

.bg-gradient-1 {
  background: linear-gradient(180deg, rgb(244, 95, 95) 0%, rgb(148, 115, 139) 49%, rgb(34, 195, 188) 100%);
}

.gradient-overlay-1 {
  background: linear-gradient(180deg, rgb(244, 95, 95) 0%, rgb(148, 115, 139) 49%, rgb(34, 195, 188) 100%);
}

.inset-0 {
  inset: 0;
}

@media (min-width: 1200px) {
  .text-xxl {
    font-size: 5.5rem;
  }
}

@media (min-width: 1200px) {
  .text-xxxl {
    font-size: 7rem;
  }
}

.text-gradient {
  display: inline-block;
  background: linear-gradient(90deg, #d10000, #7e3c8e, #396eb3, #00bfbf);
  background: linear-gradient(90deg, #d10000, #7e3c8e, #396eb3, #00bfbf);
  background-size: 500% 100%;
  animation: gradientShift 10s infinite linear;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.text-outline {
  color: transparent;
  -webkit-text-stroke: 4px #fff;
}

.bg-gray-1 {
  background-color: #f5f5f5 !important;
}

.bg-gray-2 {
  background-color: #efefef !important;
}

.bg-gray-3 {
  background-color: #f9f9f9 !important;
}

.ff-inter {
  font-family: "Inter", sans-serif;
}

.ff-poppins {
  font-family: "Poppins", sans-serif;
}

.ff-heebo {
  font-family: "Heebo", sans-serif;
}

.ff-helveticaneue {
  font-family: "HelveticaNeue";
}

.text-gray {
  color: #707070 !important;
}

.vertical-text {
  position: relative;
  letter-spacing: 2px;
}
.vertical-text .inner-text {
  white-space: nowrap;
  transform: rotate(180deg);
  writing-mode: vertical-rl;
  line-height: 1;
}

@media (min-width: 1200px) {
  .vertical-text-1 {
    font-size: 2rem;
  }
}

.border-white {
  border-color: #fff;
}

.z-index-2 {
  z-index: 2;
}

@media (min-width: 1200px) {
  .text-caption-1 {
    font-size: 5rem;
  }
}

@media (max-width: 767px) {
  .display-1 {
    font-size: calc(3rem + 4.5vw);
  }
}

@media (max-width: 767px) {
  .display-3 {
    font-size: calc(2.5rem + 3.3vw);
  }
}

.overflow-hidden {
  overflow: hidden;
}

.mxw-none {
  max-width: none;
}

.bg-gray {
  background-color: #ededed !important;
}

.border-gray-1 {
  --bs-border-color: #b5b5b5 !important;
}

.border-white {
  border-color: #fff !important;
}

._filter-1:before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: rgba(39, 19, 12, 0.37);
  z-index: 1;
}

._filter-2:before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: rgba(58, 57, 57, 0.45);
  z-index: 1;
}

._filter-3:before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: rgba(124, 29, 35, 0.45);
  z-index: 1;
}

._filter-4:before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: rgba(0, 44, 165, 0.45);
  z-index: 1;
}

.lh-sm {
  line-height: 1.2;
}

.border-dashed {
  border-style: dashed !important;
}

@media (min-width: 992px) {
  .border-lg-end {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
}

.text-black {
  color: #06121a !important;
}

.radio-btn {
  display: inline-block;
  padding: 0.5rem 1rem;
  margin: 0.2rem;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}

.radio-btn-custom {
  display: none;
}

.radio-btn-custom:checked + label.radio-btn {
  background-color: #f5f5f5; /* Bootstrap primary */
  color: var(--bs-primary);
  border-color: #0d6efd;
}

.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary-dark);
  --bs-btn-hover-border-color: var(--bs-primary-dark);
  --bs-btn-active-bg: var(--bs-primary-dark);
  --bs-btn-active-border-color: var(--bs-primary-dark);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-outline-gray {
  --bs-btn-color: #707070;
  --bs-btn-border-color: #707070;
  --bs-btn-hover-bg: #707070;
  --bs-btn-hover-border-color: #707070;
  --bs-btn-focus-shadow-rgb: #707070;
  --bs-btn-active-bg: #707070;
  --bs-btn-active-border-color: #707070;
  --bs-btn-disabled-color: #707070;
  --bs-btn-disabled-border-color: #707070;
}

.btn-theme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
.btn-theme:not(.btn-lg):not(.btn-sm) {
  min-height: 50px;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--bs-primary-light);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.2);
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.content-section-row {
  position: relative;
}

.bg-img-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.bg-img-fill._object-top img {
  object-position: top;
}
.bg-img-fill._object-right img {
  object-position: right;
}
.bg-img-fill._object-bottom img {
  object-position: bottom;
}
.bg-img-fill._object-left img {
  object-position: left;
}
.bg-img-fill img {
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.container-limited {
  max-width: 1920px;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}

.swiper-component iframe,
.swiper-component video {
  pointer-events: none;
}
.swiper-component .swiper-slide[data-video-type=youtube] {
  background-color: #000;
}

.responsive-video-container {
  position: absolute;
  z-index: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #000;
  /* set video aspect ratio and vertically center */
}
.responsive-video-container:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  content: "";
}
.responsive-video-container .responsive-video-width {
  position: absolute;
  width: 100%;
  height: 100%;
  left: -9999px;
  right: -9999px;
  margin: auto;
}
.responsive-video-container .responsive-video-aspect {
  position: absolute;
  width: 100%;
  height: 0;
  top: -9999px;
  bottom: -9999px;
  margin: auto;
  padding-bottom: 56.25%;
  /* 16:9 ratio */
  overflow: hidden;
}
.responsive-video-container .responsive-video-make-height {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.responsive-video-container .responsive-video-canvas {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: 0 none;
  -webkit-transition: all ease 1s;
  transition: all ease 1s;
}
.responsive-video-container #vimeo-video-canvas iframe {
  width: 100%;
  height: 100%;
}

.nav .nav-link {
  color: inherit;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(5px);
  }
  100% {
    transform: translateY(0px);
  }
}
.scroll-line {
  width: 1px;
  height: 82px;
  background-color: #3a3939;
}

.scroll-trail {
  animation: float 2s ease-in-out infinite;
}
.scroll-trail .trail {
  width: 6px;
  height: 6px;
  border-top: 1px solid #3a3939;
  border-right: 1px solid #3a3939;
  transform: rotate(135deg);
}

.random-object {
  position: absolute;
  pointer-events: none;
}
.random-object._object-1 {
  bottom: 10%;
  right: 18%;
  width: 3.5%;
}
.random-object._object-2 {
  bottom: 4%;
  right: 4%;
  width: 7%;
}
@media (min-width: 1200px) {
  .random-object._object-1 {
    bottom: 17%;
  }
}

div:has(> .icon-arrow-right):hover {
  color: var(--bs-primary);
}
div:has(> .icon-arrow-right):hover .icon-arrow-right {
  transform: translateX(8px);
}
div:has(> .icon-arrow-right) .icon-arrow-right {
  transition: all ease 0.35s;
}

.frame-shadow {
  position: relative;
}
.frame-shadow:before {
  position: absolute;
  top: 47px;
  left: 42px;
  right: -20px;
  bottom: -20px;
  background-color: #f4f4f4;
  content: "";
}
.frame-shadow img {
  position: relative;
}
.frame-shadow._v-2:before {
  top: 4px;
  left: -18px;
  bottom: 18px;
  right: 0;
}

.gradient-overlay {
  position: relative;
}
.gradient-overlay:before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  mix-blend-mode: multiply;
  background: linear-gradient(0deg, rgb(244, 95, 95) 0%, rgb(148, 115, 139) 60%, rgb(34, 195, 188) 100%);
}

.marker-primary li::marker {
  color: var(--bs-primary);
}

.aspect-ratio-2-3 {
  position: relative;
  aspect-ratio: 2/2.5;
}
.aspect-ratio-2-3 img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.form-theme hr {
  border-color: #808080;
}
.form-theme label {
  font-family: "Hanken Grotesk", sans-serif;
  font-weight: normal;
}
.form-theme .form-group:not(.form-check) {
  position: relative;
  margin-bottom: 45px;
}
.form-theme .form-group:not(.form-check) label {
  position: absolute;
  top: 10px;
  transition: all ease 0.35s;
  pointer-events: none;
  color: #000;
  font-weight: 500;
}
.form-theme .form-control {
  background-color: transparent;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #808080;
}
.form-theme .form-control:focus ~ label, .form-theme .form-control:valid ~ label {
  transform: translateY(calc(-100% - 14px));
  font-size: 0.875rem;
  color: #000;
}
.form-theme textarea {
  border: 1px solid #808080 !important;
}
.form-theme textarea:focus ~ label, .form-theme textarea:valid ~ label {
  transform: translateY(calc(-100% - 15px)) !important;
}
.form-theme input[type=date]:not(:focus):not(:valid) {
  color: transparent;
}
.form-theme .custom-control .custom-control-label {
  text-transform: uppercase;
  color: #b5b5b5;
}
.form-theme .custom-control .custom-control-input:not(:checked) ~ .custom-control-label:before {
  border-radius: 0;
  background-color: transparent;
}

.form-nav-tabs {
  margin: 0;
  border: 0;
}
.form-nav-tabs .nav-link {
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  color: #b5b5b5;
  text-align: left;
}
.form-nav-tabs .nav-link.active {
  background-color: #f5f5f5;
  padding: 0 0;
  color: var(--bs-primary);
}
@media (min-width: 768px) {
  .form-nav-tabs .nav-link-active {
    padding: 0 1rem;
  }
}

.navbar-fixed-offset {
  height: 86px;
}
@media (min-width: 481px) {
  .navbar-fixed-offset {
    height: 106px;
  }
}
@media (min-width: 768px) {
  .navbar-fixed-offset {
    height: 116px;
  }
}
@media (min-width: 992px) {
  .navbar-fixed-offset {
    height: 142px;
  }
}

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  background-color: #fff;
}
.navbar .navbar-toggler {
  margin-right: -5px;
  border: 0;
  color: var(--bs-primary);
}
.navbar .navbar-toggler.collapsed {
  color: #585858;
}
.navbar .navbar-toggler .navbar-toggler-icon {
  width: auto;
  height: auto;
  background-image: none;
  font-size: 26px;
}
.navbar .navbar-brand img {
  height: 90px;
}
.navbar .navbar-nav .nav-link {
  --bs-nav-link-color: #000;
}
.navbar .social-links .nav-link {
  color: var(--bs-primary);
}
@media (min-width: 992px) {
  .navbar {
    --bs-navbar-padding-y: 1rem;
  }
  .navbar .navbar-brand img {
    height: 100px;
  }
  .navbar .navbar-nav .nav-link.active, .navbar .navbar-nav .nav-link:hover {
    position: relative;
    color: var(--bs-primary);
  }
  .navbar .navbar-nav .nav-link.active:before, .navbar .navbar-nav .nav-link:hover:before {
    position: absolute;
    bottom: 14px;
    left: -10px;
    width: 6px;
    height: 6px;
    background-color: var(--bs-primary);
    border-radius: 50%;
    content: "";
  }
}
@media (min-width: 1200px) {
  .navbar {
    position: relative;
    background-color: transparent;
  }
  .navbar .navbar-nav {
    gap: 1rem;
  }
}
@media (min-width: 1400px) {
  .navbar .navbar-nav {
    gap: 2.75rem;
  }
}
@media (min-width: 1600px) {
  .navbar .navbar-nav {
    gap: 3rem;
  }
}
@media (min-width: 1700px) {
  .navbar .navbar-brand img {
    height: 125px;
  }
  .navbar .navbar-nav {
    gap: 4rem;
  }
}
@media (max-width: 575px) {
  .navbar .navbar-brand img {
    height: 80px;
  }
}
@media (max-width: 480px) {
  .navbar .navbar-brand img {
    height: 60px;
  }
  .navbar .social-links .nav-link {
    --bs-nav-link-padding-x: 12px;
  }
}

.site-brand img {
  height: 100px;
}
@media (min-width: 1200px) {
  .site-brand img {
    height: 130px;
  }
}

.feature-item .img-container {
  position: relative;
  padding-bottom: 75%;
}
.feature-item .img-container img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer .footer-brand img {
  height: 140px;
}

.video-gallery-container .main-swiper .swiper-slide:has(img) .video-playback-control {
  display: none;
}
.video-gallery-container .main-swiper .media-wrapper {
  height: 560px;
}
.video-gallery-container .main-swiper .media-wrapper > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-gallery-container .main-swiper video {
  display: block;
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center center;
  background-color: #000;
}
.video-gallery-container .main-swiper .video-playback-control {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;
  border: 1px solid var(--bs-primary);
  border-radius: 50%;
  z-index: 2;
  font-size: 65px;
  color: #fff;
  cursor: pointer;
  filter: drop-shadow(0px 5px 5px rgb(99, 99, 99));
}
.video-gallery-container .thumb-swiper .img-container {
  width: 100%;
  height: 150px;
}
.video-gallery-container .thumb-swiper .img-container img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.video-gallery-container .thumb-swiper .swiper-slide-thumb-active {
  outline: 2px solid var(--bs-primary);
  outline-offset: -2px;
}
.video-gallery-container .swiper-button {
  top: auto;
  bottom: 52px;
  padding: 0;
  color: var(--bs-primary);
}
.video-gallery-container .swiper-button:after {
  font-size: 16px;
}
.video-gallery-container .swiper-button-prev {
  left: -24px;
}
.video-gallery-container .swiper-button-next {
  right: -24px;
}
@media (min-width: 992px) {
  .video-gallery-container .main-swiper .swiper-slide:hover .video-playback-control {
    opacity: 1;
  }
}

@media (min-width: 992px) {
  .cta-section {
    min-height: 500px;
  }
}

.contact-detail-item .item-icon {
  width: 50px;
  text-align: center;
}

.cv-upload {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 400px;
}
.cv-upload .cv-input {
  display: none;
}
.cv-upload .file-info a {
  color: var(--bs-primary);
  text-decoration: none;
}
.cv-upload .file-info a:hover {
  text-decoration: underline;
}
.cv-upload .remove-btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.9rem;
  cursor: pointer;
  border: 1px solid #c00;
  background: #fee;
  color: #900;
  border-radius: 4px;
}

/*# sourceMappingURL=app.css.map */
