@charset "UTF-8";

:root {
    --site-color: #503f97;
}

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

textarea {
    resize: none;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

body {
    font-family: "Roboto", sans-serif;
    word-break: break-word;
}

img {
    max-width: 100%;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mb-30 {
    margin-bottom: 30px;
}

.mb-24 {
    margin-bottom: 24px;
}

.logo img {
    width: 120px;
    min-width: 120px;
}

header.inner-header {
    padding-top: 13px;
}

header {
    transition: 0.4s;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 99;
    padding-top: 70px;
}

header.sticky {
    padding: 15px 0;
    transition: 0.4s;
}

header:before {
    transition: 0.4s;
    content: "";
    background: #fff;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    height: 0;
    z-index: -1;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
}

header.sticky:before {
    transition: 0.4s;
    height: 74px;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-contact img {
    width: 540px;
}

.header-contact {
    display: flex;
    align-items: center;
}

.whatsapp-chat-trigger {
    width: 35px;
    height: 35px;
}

.index-slider-text .title {
    position: relative;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
}

.index-slider-text .text {
    position: relative;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.3;
    width: 40%;
    min-height: 67px;
}

.index-slider {
    margin: 25px;
    border-top-right-radius: 30px;
    overflow: hidden;
}

.ref-item img {
    width: 160px;
}

.reference-swiper .swiper-wrapper {
    -webkit-transition-timing-function: linear;
    -moz-transition-timing-function: linear;
    -o-transition-timing-function: linear;
    transition-timing-function: linear;
}

.space {
    padding: 70px 0;
}

.index-references {
    padding: 40px 0;
    background-color: #e9e9e9;
}

.work-detail .title {
    position: relative;
    line-height: 1.3;
    color: #000;
    width: 100%;
    overflow: hidden;
    display: block;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
    margin-bottom: 0;
}

.work-detail {
    margin-top: 15px;
}

.work-detail span {
    position: relative;
    line-height: 1.3;
    color: #000;
    width: 100%;
    overflow: hidden;
    display: block;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
    letter-spacing: 1px;
}

.footer-inner img {
    width: 260px;
}

.footer-inner {
    text-align: center;
    font-size: 36px;
    color: #fff;
    line-height: 43px;
    font-weight: 600;
    letter-spacing: 2px;
    padding: 80px 0;
}

footer {
    background-color: #08002f;
    height: 15vh;
    display: flex;
    align-items: center;
}

.footer-title {
    margin-top: 20px;
}

.footer-copyright {
    color: #999;
    font-size: 12px;
    padding: 30px 0;
    display: flex;
    justify-content: space-between;
}

.footer-copyright a {
    color: #999;
}

.grid.grid-4col>div {
    width: 25%;
}

.work-item a {
    display: block;
}

.work-grid .work-item {
    padding: 15px
}

.work-img img {
    width: 100%;
}

.detail-page-wrapper {
    margin: 30px 0;
}

.detail-page-img img {
    border-radius: 10px;
}

.detail-page-info i {
    color: var(--site-color);
}

.detail-page-tickets a {
    display: inline-block;
    width: auto;
    padding: 5px 10px;
    background-color: #e7e7e7;
    color: #000;
    border-radius: 5px;
    transition: all 300ms ease;
}

.detail-page-tickets {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.detail-page-tickets a:hover {
    background-color: #d4d4d4;
}

.detail-title .title {
    font-size: 26px;
}

.breadcrumb-link {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    color: #000;
}

.breadcrumb-link a {
    color: inherit;
}

.breadcrumb-link li {
    margin-right: 9px;
    padding-right: 9px;
    position: relative;
}

.breadcrumb-link li:not(:last-child):after {
    content: "\f054";
    font-family: "Font Awesome 6 Pro";
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    font-size: 12px;
    position: absolute;
    right: -3px;
    top: 5px;
}

.breadcrumb-link li:last-child {
    color: var(--site-color);
}

.breadcrumb-link li a:hover {
    text-decoration: underline;
}

.widget-item a {
    display: flex;
}

.widget-img img {
    min-width: 120px;
    max-width: 120px;
    width: 100%;
    border-radius: 5px;
}

.widget-desc .title {
    font-size: 16px;
    margin-bottom: 3px;
    max-height: 39px;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}

.widget-desc {
    padding-left: 10px;
}

.widget-item a {
    color: #000;
}

.widget-desc .date {
    font-size: 14px;
}

.widget-item a:hover .title {
    text-decoration: underline;
}

.detail-page-info {
    font-size: 15px;
}

.index-slider-item {
    height: 500px;
}

.index-slider-item:before {
    content: "";
    background-image: url(../images/bg/black.png);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1;
}

.index-slider-item .container {
    position: absolute;
    bottom: 55px;
    left: 0;
    right: 0;
    z-index: 2;
}

.index-slider-item video {
    pointer-events: none;
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
}

.index-slider-item img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform 10s ease;
}

.swiper-slide-active .index-slider-item img {
    transform: scale(1.1);
}

.index-slider-text {
    color: #fff;
}

.index-slider-text .title span {
    font-weight: 300;
    display: inline-block;
    padding-left: 7px;
    position: relative;
}

.index-slider-text .title span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    bottom: 7px;
    width: 1px;
    background-color: #fff;
}

.index-slider-arrow {
    position: absolute;
    bottom: 7px;
    left: 12px;
    right: 0;
    display: flex;
    gap: 20px;
    z-index: 9;
    font-size: 30px;
    color: #f89440;
}

.slider-swiper .swiper-slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 1);
    transition: opacity 1s;
    opacity: 1;
}

.slider-swiper .swiper-slide-active::before {
    opacity: 0;
}

.contact-area {
    background-color: #110046;
    color: #fff;
    text-align: center;
    height: 85vh;
    /* display: flex; */
    /* align-items: center; */
    position: relative;
    z-index: 999;
    padding-top: 80px;
}

.contact-area-social {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 80px;
}

.contact-area-social a {
    color: #fff;
    border: 1px solid #fff;
    display: inline-block;
    padding: 5px 15px;
    border-radius: 5px;
}

.contact-area .big-title {
    font-size: 70px;
    max-width: 60%;
    margin: 40px auto;
}

.contact-area-info {
    display: flex;
    justify-content: center;
    /* text-align: left; */
    gap: 60px;
    position: relative;
}

.contact-area-info:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background-color: #fff;
}

.contact-area-info-item {
    width: 50%;
    text-align: left;
}

.contact-area-info .contact-area-info-item:first-child {
    text-align: right;
}

.contact-logo img {
    width: 160px;
}

.contact-area-social a:hover {
    background-color: #fff;
    color: var(--site-color);
}

.contact-area-info-item a {
    color: #fff;
}

.footer-copyright img {
    max-width: 350px;
    width: 100%;
    object-fit: contain;
}

.review-title-area .title {
    font-weight: 900;
    font-size: 50px;
    color: #b5b5b5;
}

.review-title-area .title div {
    color: #5b5b5b;
}

.header-menu ul {
    display: flex;
    gap: 24px;
}

.header-menu ul li a {
    color: #000;
    padding: 13px 6px;
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
}

.header-menu {
    background-color: #f1f1f1;
    padding: 0 35px;
    border-radius: 254px;
    margin-right: 24px;
}

.header-right {
    display: flex;
    align-items: center;
}

.header-plus {
    display: inline-block;
    background-color: var(--site-color);
    color: #fff;
    padding: 10px 25px;
    border-radius: 25px;
    margin-right: 24px;
    position: relative;
    z-index: 9999;
    border: none;
}

.header-plus i {
    font-size: 13px;
}

.site-btn {
    background-color: var(--site-color);
    color: #fff;
    padding: 10px 25px;
    border-radius: 25px;
    position: relative;
}
.site-btn:hover {
    background-color: var(--site-color);
    color: #fff;
}
.menu-button_button_block__5NYQS {
    width: 18px;
    height: 14px;
    position: relative;
}

.menu-button_button_block__5NYQS span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: #fff;
    transition: .4s ease-in-out .3s;
    transition-property: width, left, top, transform;
}

.menu-button_button_block__5NYQS span:first-child {
    width: 10px;
    left: 8px;
}

.menu-button_button_block__5NYQS span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
}

.menu-button_button_block__5NYQS span:last-child {
    width: 10px;
    top: 100%;
    transform: translateY(-100%);
}

.header-menu-btn {
    position: relative;
    z-index: 9999;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background-color: #515151;
}

.header-menu-btn.active span:first-child {
    width: 100%;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
}

.header-menu-btn.active span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
    width: 0;
}

.header-menu-btn.active span:last-child {
    width: 100%;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

header.sticky .header-menu {
    display: none;
}

header.sticky .header-menu-btn {
    background-color: #515151;
}

.blog-item {
    position: relative;
}

.blog-info {
    max-width: calc(100% - 20px);
    padding: 19px 19px 19px 35px;
    background: #fff;
    border-radius: 30px;
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 10px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.blog-info-right {
    width: 52px;
    height: 52px;
    background: #d9d9d9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #000;
    transform: rotate(-45deg);
}

.blog-info-left .title {
    font-size: 18px;
    color: #000;
    font-weight: 600;
    margin-bottom: 4px;
}

.blog-info-left p {
    margin-bottom: 0;
    font-size: 14px;
    color: #8d8d8d;
    letter-spacing: -.03em;
}

.blog-info-left .date {
    color: #000;
    font-size: 12px;
}

.blog-img {
    border-radius: 35px;
    overflow: hidden;
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
    transition: all 300ms ease;
    transition-delay: 0.5s;
}

.mobile-menu.active {
    display: block;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
    transform: translateY(0);
}

.mobile-menu-container {
    display: flex;
    height: 100%;
    width: 100%;
}

.mobile-logo img {
    width: 200px;
}

.mobile-menu-line-one {
    max-width: 350px;
    width: 100%;
    position: relative;
    padding: 30px 10px;
    background-image: url(../images/bg/mobile-menu-text.jpg);
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-menu-line-two {
    width: 100%;
    position: relative;
    padding: 30px 40px;
    background-image: url(../images/bg/menu.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}

.mobile-logo {
    text-align: center;
    opacity: 0;
    transition: all 500ms ease;
    transition-delay: 0s;
    transform: rotate(-90deg);
}

.mobile-menu-inner {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    width: 100%;
}

.mobile-menu-list a {
    color: #fff;
    font-size: 50px;
    font-weight: 600;
    display: inline-block;
    transition: all 300ms ease;
}

.mobile-menu-contact a {
    font-size: 30px;
    display: block;
    color: #fff;
}

.mobile-menu-contact a:hover {
    text-decoration: underline;
}

.mobile-menu-list a:hover {
    padding-left: 15px;
}

.mobile-menu.active .mobile-logo {
    opacity: 1;
    transition-delay: 0.5s;
}

.mobile-menu-list li {
    transform: translateY(50px);
    opacity: 0;
    transition: all 300ms ease;
}

.mobile-menu.active .mobile-menu-list li:nth-child(1) {
    transform: translateY(0);
    opacity: 1;
    transition-delay: calc(0.5s);
}

.mobile-menu.active .mobile-menu-list li:nth-child(2) {
    transform: translateY(0);
    opacity: 1;
    transition-delay: calc(0.6s);
}

.mobile-menu.active .mobile-menu-list li:nth-child(3) {
    transform: translateY(0);
    opacity: 1;
    transition-delay: calc(0.7s);
}

.mobile-menu.active .mobile-menu-list li:nth-child(4) {
    transform: translateY(0);
    opacity: 1;
    transition-delay: calc(0.8s);
}

.mobile-menu.active .mobile-menu-list li:nth-child(5) {
    transform: translateY(0);
    opacity: 1;
    transition-delay: calc(0.9s);
}

.mobile-menu-contact {
    opacity: 0;
    transition: all 300ms ease;
    transition-delay: 0s;
}

.mobile-menu.active .mobile-menu-contact {
    opacity: 1;
    transition-delay: 0.5s;
}

.page-title {
    margin-top: 150px;
    text-align: center;
}

.shine {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.shine:before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.3)));
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
    pointer-events: none;
}

.shine:hover:before {
    -webkit-animation: shine 1s linear;
    animation: shine 1s linear;
}

@-webkit-keyframes shine {
    100% {
        left: 125%;
    }
}

@keyframes shine {
    100% {
        left: 125%;
    }
}

.customer-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    max-width: 700px;
    width: 100%;
    background-color: #fff;
    z-index: 999;
    transform: translateX(100%);
    transition: all 500ms ease;
}

.bg-filter {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: hsla(0, 0%, 79%, .25);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    z-index: 99;
    position: fixed;
    transition: opacity .25s ease-in-out;
}

.customer-menu-area {
    padding: 35px;
}

.customer-title {
    font-size: 48px;
    font-weight: 500;
    max-width: 50%;
    line-height: 52px;
    margin-bottom: 30px;
}

.customer-exit {
    position: absolute;
    top: 35px;
    right: 35px;
    width: 54px;
    height: 54px;
    background-color: #f8f8f8;
    border-radius: 50%;
    font-size: 22px;
}

.customer-exit:active,
.customer-exit:hover {
    background-color: #f8f8f8 !important;
}

.form-group {
    margin-bottom: 30px;
}

.form-group label {
    margin-bottom: 16px;
    font-weight: 600;
    display: block;
    font-size: 17px;
}

.customer-form-bottom {
    display: flex;
    justify-content: space-between;
}

.customer-form-bottom a {
    color: #000;
}

.customer-form-bottom .btn {
    border-radius: 25px;
    min-width: 200px;
}

.mobile-menu-inner ul {
    width: 100%;
}

.review-title-area .title div {
    display: inline-block;
}

.customer-menu.active {
    transform: translateX(0);
}

.inner-header-space {
    margin-top: 100px;
}

.blog-title {
    display: flex;
    align-items: center;
}

.about-page .text {
    font-size: 15px;
}

.about-gallery-content {
    display: flex;
    gap: 12px;
}

.about-gallery-left {
    flex-grow: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.about-gallery-right {
    flex-grow: 1;
}

.ag-item {
    background-color: #18b367;
    overflow: hidden;
    height: 206px;
}

.ag-item-1 {
    width: calc(50% - 6px);
    border-radius: 55px 15px 15px 15px;
}

.ag-item-2 {
    width: calc(50% - 6px);
    border-radius: 50%;
}

.ag-item-3 {
    width: 100%;
    border-radius: 15px 100px 100px 55px;
}

.ag-item-4 {
    width: 100%;
    height: 100% !important;
    border-radius: 15px;
}

.text-gray {
    color: #707070;
}

.work-video {
    position: relative;
}

.work-video img {
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0;
}

.work-tag-list {
    margin-bottom: 30px;
}

.project-details-img {
    margin-bottom: 30px;
}
.shadow-box { 
    position: relative; 
    background: #FFFFFF;
} 

.project-about-2  {
    padding: 36px;
    gap: 80px;
    background-color: #f6f9fc;
    border-radius: 5px;
} 

.shadow-box *  { 
    z-index: 2; 
    position: relative;
} 

.left-details  { 
    position: relative; 
    flex: none; 
    padding: 30px 54px; 
    width: 290px;
} 

.project-details-wrap .project-about-2 .left-details::before, .project-details-wrap .project-infos-wrap .project-details-info::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.95;
    background: #fff;
    border-radius: 30px;
} 

.left-details img  { 
    position: absolute; 
    right: 40px; 
    top: 0;
} 

.right-details .title  { 
    font-size: 18px; 
    color: #0f0f0f; 
    margin-bottom: 17px;
} 

.right-details p  { 
    font-size: 16px; 
    color: #000000; 
    opacity: 0.4; 
    line-height: 1.56; 
    margin-bottom: 26px;
} 

.right-details p:last-child  { 
    margin-bottom: 0;
} 

.left-details ul li + li  { 
    margin-top: 27px;
} 

.left-details ul li p  { 
    color: #BCBCBC; 
    font-size: 18px; 
    margin-bottom: 10px;
} 

.left-details ul li .wd-val  { 
    display: block;
    color: var(--site-color); 
    font-size: 18px; 
    margin: 0;
} 
.contact-item {
    padding: 25px;
    background-color: var(--site-color);
    border-radius: 15px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.contact-item i {
    font-size: 40px;
    color: #b2d4e3;
}

.contact-item a {
    color: #fff;
    font-size: 20px;
}

/* CHECKBOX */

@keyframes check {
  50% {
      transform: scale(1.2)
  }
}

.promise-box {
  display: flex;
  vertical-align: middle;
  align-items: center;
}

.promise-box label {
  font-size: 18px;
  max-width: unset !important;
  width: auto !important;
}

.promise-box label {
  padding-left: 0;
  color: inherit;
  display: inline-block;
  font-weight: 400;
  margin-bottom: 0;
}

.cbx {
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

.cbx span {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  transform: scale(1);
  border: 1px solid #B9B8C3;
  transition: all .2s ease;
}

.cbx span:before {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--site-color);
  display: block;
  transform: scale(0);
  opacity: 1;
  border-radius: 50%;
  transition-delay: .2s;
}

.cbx span svg {
  position: absolute;
  z-index: 1;
  top: 5px;
  left: 4px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 16px;
  stroke-dashoffset: 16px;
  transition: all .3s ease;
  transition-delay: .1s;
  transform: translate3d(0, 0, 0);
}

.cbx span:last-child:after {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  height: 1px;
  width: 100%;
  background: #B9B8C3;
  transform-origin: 0 0;
  transform: scaleX(0);
}
.confirm-btn {
    color: #000;
    font-size: 15px;
    border: none;
    background: none !important;
    margin-left: 10px;
    outline: none !important;
    cursor: pointer;
}

.inp-cbx:checked+.cbx span:last-child {
  color: #B9B8C3;
  transition: all .3s ease;
}

.inp-cbx:checked+.cbx span:before {
  transform: scale(2.2);
  opacity: 0;
  transition: all .6s ease;
}

.inp-cbx:checked+.cbx span:last-child:after {
  transition: all .3s ease;
}

.inp-cbx:checked+.cbx span svg {
  stroke-dashoffset: 0;
}

.inp-cbx:checked+.cbx span {
  border-color: var(--site-color);
  background: var(--site-color);
  animation: check .6s ease;
}

.grecaptcha-badge {
    display: none !important;
}

.custom-menu-scroll {
    width: 100%;
    height: 100%;
    overflow-y: auto;
}