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

html {
    height: -webkit-fill-available;
    font-size: 62.5%;
    scroll-behavior: smooth;
}

::placeholder {
    color: #fff;
  }
  
  ::-ms-input-placeholder { 
    color: #fff;
  }

body {
    margin: 0;
}

.mobile {
    display: none
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 48
}

.main-container {
    background-color: #000000;
    height: -webkit-fill-available;
    height: 100dvh;
    overflow: hidden;
    scroll-snap-type: y mandatory;
}

.full-height-cards {
    height: -webkit-fill-available;
    height: 100dvh;
    scroll-snap-align: start;
    display: flex;
    align-items: center;
}

.landing-page-cards {
    height: -webkit-fill-available;
    height: 100dvh;
    scroll-snap-align: start;
}

.video-card {
    margin: 0;
    height: 100%;
    position: relative;
    border-radius: 6rem;
}

.video {
    height: 100%;
    width: 100%;
    object-fit: cover;
    pointer-events: none;
}

.video-card-description {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    border-radius: 6rem;
}

.clients {
    width: 4%
}

.manrope-text-500 {
    font-size: 1.7rem;
    font-weight: 500;
    font-family: "Manrope", sans-serif;
    line-height: 2.5rem;
    color: #fff;
}

.manrope-text-15 {
    font-size: 1.2rem;
    font-weight: 800;
    font-family: "Manrope", sans-serif;
    line-height: 1.8rem;
    color: #fff;
}

.headline-text-wrapper {
    margin-top: 1.5rem;
}

.headline-text {
    font-family: "Poppins", sans-serif;
    font-size: 5rem;
    font-weight: 700;
    line-height: 6.5rem;
    color: #fff;
    text-align: center;
}

.explore-products-btn {
    height: 8.2%;
    width: 19%;
    border-radius: 8.2rem;
    border: 1px solid #ffff;
    font-size: 1.6rem;
    background: #00000052;
    cursor: pointer;
    color: #fff;
    cursor: pointer;
}

.video-card-description-wrapper {
    position: absolute;
    height: 100%;
    width: 100%;
    background: #000000ba;
}

.kuplin-small-logo{
    position: fixed;
    height: 7%;
    margin: .5% 0 0 4.5%;
    z-index: 9;
}

.kupling-logo {
    height: 10%;
    margin: 0.5% 0 0 4.5%;
}

.about-kuplin {
    width: 60vw;
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 4.7rem;
}

.gradient-effect {
    position: absolute;
    height: 100%;
    width: 100%;
    background: radial-gradient(ellipse, transparent, black 72%);}

.about-kuplin-img {
    /* width: 100% */
    width: 60vw;
    height: 50dvh;
}

.denton-text-800 {
    font-weight: 800;
    font-size: 2.6rem;
    text-align: center;
    background: -webkit-linear-gradient(349deg, #ffff, #5F5B5B);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.about-kuplin-img-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.kuplin-overview {
    width: 85%;
    height: 84%;
    margin: auto;
}

.count-wrapper {
    display: flex;
    gap: 5%;
    margin: 2% 0 3% 5%;;
}

.count-container {
    width: 20%;
}

.rating-container {
    width: 30%;
    margin-left: 3%;
}

.rating-wrapper {
    display: flex;
    gap: 1.8rem;
}

.ratings-star {
    width: 25rem;
}

.kuplin-counts {
    color: #fff;
    font-size: 8rem;
    line-height: 8rem;
}

.kuplin-overview-img {
    width: 100%;
    object-fit: cover;
    border-radius: 3rem;
}

.kuplin-overview-img-container {
    width: 100%;
    height: 70%;
    display: flex;
    justify-content: center;
}

.divider {
    height: 15rem;
    width: .1rem;
    background: #ffffff99;
}

.rating-divider {
    display: none;
}

.mobile-hidden {
    display: block;
}

.kuplin-rating {
    padding-left: 3rem;
}

.color-background {
    background-color: #FEC83D4D;
    position: absolute;
    width: 50rem;
    height: 16rem;
    top: 14rem;
    filter: blur(8rem);
}

.white-blur-background {
    background-color: #fff;
    position: absolute;
    width: 65%;
    height: 5%;
    top: 80%;
    filter: blur(5rem);
}

.overview-wrapper {
    position: relative;
}

.product-description-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 100%;
}

.high-quality-hinge {
    border-radius: 6.5rem;
    width: 40dvw;
    height: 60dvh;
    object-fit: cover;
}

.product-description-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 45%;
}

.denton-text-80 {
    font-weight: 800;
    font-size: 5rem;
    text-align: center;
    color: #ffff;
}

.denton-text-30 {
    font-weight: 800;
    font-size: 2rem;
    text-align: center;
    color: #ffff;
    line-height: 4rem;
}

.square-box-container {
    display: flex;
    gap: 1.5rem;
    margin-top: 2rem;
}

.square-box {
    width: 10dvh;
    height: 10dvh;
    border-radius: 1rem;
    background-color: #D9D9D9;
}

img.product-small-img {
    height: 12dvh;
    width: 12dvh;
    object-fit: cover;
    border-radius: 2dvh;
    cursor: pointer;
}

.product-page-container {
    margin: 0rem 5% 0rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    justify-content: center;
}

.upcomming-categories-desc {
    width: 82%;
}

.product-card-container {
    display: flex;
    gap: 2%;
    max-width: 100%;
    /* overflow-y: scroll; */
    margin-top: 3%;
    justify-content: center;
}

.product-card-wrapper {
    /* max-width: 28rem; */
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1% 1% 12%;
    border: 1px solid #4D4D4D;
    height: 100%;
}

.text-center {
    text-align: center;
}

.product-title {
    margin: 6% 0 2% 0;
}

.know-more-btn {
    background: transparent;
    width: 75%;
    border: 1px solid #4D4D4D;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.contact-us-page {
    margin: 3% 5% 0 5%;
    padding: 3% 4% 5% 4%;
    border-radius: 5.7rem;
    border: .2rem solid #2f2f2f80;
    display: flex;
    position: relative;
    height: 70%;
    overflow: hidden;
    width: -webkit-fill-available;
}

.contact-us-form-container {
    width: 60%;
    max-height: 100%;
    display: flex;
    gap: 5%;
    flex-direction: column;
    z-index: 9;
}

.contact-us-form {
    display: flex;
    flex-direction: column;
    gap: 5%;
    width: 65%;
    height: 70%;
}

.contact-us-input {
    border-radius: 1rem;
    height: 25%;
    background: #ffffff26;
    border: none;
    padding: 0 2rem;
}

.contact-us-small-input {
    border-radius: 1rem;
    height: 100%;
    background: #ffffff26;
    border: none;
    padding: 0 2rem;
}

.contact-us-btn-wrapper {
    width: 40%;
    display: flex;
    flex-direction: column;
    gap: 4rem;
    justify-content: flex-end;
    z-index: 9;
}

.contact-us-btn {
    background: #FAAC16;
    width: 18rem;
    border: 1px solid #4D4D4D;
    height: 5rem;
    color: #000000;
    font-weight: 600;
    cursor: pointer;
}

.form-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 30%;
}

.double-input {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    height: 25%;
}

.full-width-input {
    width: 100%
}

.detail-input {
    height: 50%;
    padding-top: 2%;
}

.blured-color-animation {
    display: flex;
    justify-content: space-between;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    pointer-events: none;
    background: #000000b3;
}

.yellow-blur {
    position: relative;
    background-color: #FAC716;
    width: 20%;
    height: 20%;
    filter: blur(115px);
    top: 14%;
    left: 0%;
    animation: yellow-cloud 8s 2s infinite;
    -webkit-animation: yellow-cloud 8s 2s infinite;
    transform: translateZ(0);
}

.yellow-blur::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: inherit;
    filter: blur(115px);
}

.white-blur {
    position: relative;
    background-color: #fff;
    width: 15%;
    height: 18%;
    filter: blur(110px);
    top: 70%;
    left: 0%;
    animation: white-cloud 8s 2s infinite;
    -webkit-animation: white-cloud 8s 2s infinite;
    transform: translateZ(0);
}

.white-blur::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: inherit;
    filter: blur(110px);
}

.products-img {
    width: 100%;
}

.product-description-shadow-wrapper {
    position: absolute;
    background: linear-gradient(180.1deg, #16161657 0.08%, #00000057 46.51%, #161616a6 99.92%);    width: 100%;
    height: 95%;
    margin-top: 2.5%;
}

.product-2 .product-description-container, .product-4 .product-description-container {
    flex-direction: row-reverse;
}

@keyframes yellow-cloud {
    0% {left:0%; top:14%;}
  25%  {left:86%; top:14%;}
  50%  {left:86%; top:70%;}
  75%  {left:0%; top:70%;}
  100% {left:0; top:14%;}
  }

  @keyframes white-cloud {
    0% {left:0%; top:70%;}
    25%  {left:-85%; top:70%;}
    50%  {left:-85%; top:10%;}
    75%  {left:0; top:10%;}
    100% {left:0; top:70%;}
  }

  @-webkit-keyframes yellow-cloud {
    0% {left:0%; top:14%;}
  25%  {left:86%; top:14%;}
  50%  {left:86%; top:70%;}
  75%  {left:0%; top:70%;}
  100% {left:0; top:14%;}
  }

  @-webkit-keyframes white-cloud {
    0% {left:0%; top:70%;}
    25%  {left:-85%; top:70%;}
    50%  {left:-85%; top:10%;}
    75%  {left:0; top:10%;}
    100% {left:0; top:70%;}
  }


/* Small devices */
@media (max-width: 600px) {
    body{
        overflow: hidden;
        overflow-y: auto;
    }
    ::placeholder {
        color: #fff;
        font-size: 2rem;
      }
      
      ::-ms-input-placeholder { 
        color: #fff;
        font-size: 2rem;
      }
    html {
        font-size: 30%;
    }

    .headline-text {
        line-height: 3.5dvh;
    }

    .kupling-logo, .kuplin-small-logo {
        height: 7%;
        margin: 3% 0 0 6%;
        position: fixed;
    }
    input.manrope-text-500, .detail-input.manrope-text-500 {
        font-size: 3.3rem;
    }
    .align-end {
        align-items: end;
    }

    .material-symbols-outlined {
        font-size: 2rem;
    }

    /* Landing page mobile css */

    .video {
        width: 100%;
        aspect-ratio: 1 / 1.5;
        object-fit: cover;
    }
    .video-card {
        height: 100%;
        margin: 0;
    }
    .video-card-description {
        justify-content: center;
        gap: 2%;
        height: 100%;
        padding: 0;
    }
    .video-card-description .manrope-text-500 {
        font-size: 2.5rem;
    }
    .clients {
        width: 25%;
    }
    .explore-products-btn {
        height: 7%;
        width: 60%;
        font-size: 2.7rem;
    }
    .video-card-description-wrapper {
        height: 100%;
        width: 100%;
        background: #00000045;
    }

    /* About kuplin project page */

    .about-kuplin {
        width: 90%;
        height: 90%;
        gap: 0;
        margin: 0 auto;
    }
    .about-kuplin-img-wrapper {
        height: 50%;
        margin-top: 10%;
    }
    .about-kuplin-img {
        height: 90%;
        width: 100%;
        object-fit: cover;
        aspect-ratio: 1 / 1;
    }
    .about-kuplin-text {
        font-size: 5rem;
        line-height: 3dvh;
    }

    /* Kuplin Overviw mobile css */
    .kuplin-overview {
        width: 100%;
        height: 90%;
        margin: 0;
    }
    .kuplin-overview-img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }
    .kuplin-overview-img-container {
        width: 90%;
        margin: 6% auto;
        height: 45%;
        overflow: hidden;
        border-radius: 5%;
    }
    .count-wrapper {
        flex-direction: column;
        margin: 0;
        align-items: center;
        height: 45%;
        justify-content: space-evenly;
        gap: 0;
    }
    .color-background {
        display: none;
    }
    .divider {
        height: .1rem;
        width: 100%;
    }
    .rating-divider {
        display: block;
    }
    .count-container {
        width: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5dvh;
    }

    .rating-container {
        width: 100%;
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .kuplin-counts {
        font-size: 11rem;
        line-height: 6dvh;
    }

    .count-container .manrope-text-500, .rating-container .manrope-text-500 {
        font-size: 2.5rem;
    }

    /* contact-us page mobile css */

    .contact-us-btn-wrapper {
        display: none;
    }
    .contact-us-form-container, .contact-us-form {
        width: 100%;
    } 
    .double-input {
        height: 60%;
        flex-direction: column;
    }
    .form-title {
        height: 15%;
        margin-top: 5%;
    }
    .contact-us-page {
        border-radius: 2.5rem;
    }
    .mobile {
        display: block;
        width: 100%;
        height: 12%;
        border-radius: 1rem;
        font-size: 2.5rem;
    }
    .yellow-blur, .white-blur{
        filter: blur(60px);
    }

    /* product page mobile css */

    .mobile-hidden {
        display: none;
    }
    .product-card-container {
        height: 80%;
        align-items: center;
        max-width: 95vw;
        overflow: hidden;
        margin-top: 6dvh;
    }

    .product-card-wrapper {
        padding: 0;
        gap: 2%;
    }

    .product-page-container {
        justify-content: center;
        height: 100%;
    }
    .products-img {
        height: 80%;
        aspect-ratio: 1 / 1.7;
    }

    .product-title {
        margin: 0;
        line-height: 0;
        height: 5%;
        display: flex;
        align-items: center;
    }

    .know-more-btn {
        height: 8%;
    }

    /* product description page mobile css */

    .product-description-container {
        flex-flow: column-reverse;
        margin: 0% auto 0;
        width: 90%;
        height: 90%;
        justify-content: center;
        gap: 5%;

    }

    .product-2 .product-description-container, .product-4 .product-description-container {
        flex-direction: column-reverse;
    }

    .product-description-wrapper {
        width: 100%;
        align-items: center;
        justify-content: flex-start;
        gap: 4%;
        height: 60%;
    }
    .high-quality-hinge {
        width: 90dvw;
        max-height: 35dvh;
        border-radius: 6%;
    }
    .mobile-product-description-text {
        font-size: 3rem;
        line-height: 2.5dvh;
        text-align: center;
        height: 40%;
        overflow: hidden;
        color: #ffffff5c;
    }

    .square-box-container {
        width: 100%;
        justify-content: space-evenly;
    }

    .square-box {
        border-radius: 2rem;
    }

    /* mobile slider css  */

    /* .swiper-slide-active {
        -webkit-transform: scale(1.5) !important;
        transform: scale(1.5) !important;
        width: 50% !important;
        margin-left: -9% !important;
        z-index: 9999;
    }
    .swiper-wrapper {
        height: 60% !important;
        align-items: center;
    }
    .swiper {
        overflow: visible !important;
        display: flex !important;
        align-items: center !important;
    }

    .swiper-slide-prev {
        right: 7vw !important;
    }

    .swiper-slide-next {
        left: 3vw !important;
    } */
    
  }
  
/* Medium devices */
@media (min-width: 770px) {
    html {
        font-size: 55%;
    }
}

/* Large devices */
@media (min-width: 1024px) {
html {
    font-size: 62.5%;
}
}

/* Extra large devices */
@media (min-width: 1200px) {
html {
    font-size: 70%;
}
}
@media (min-width: 2000px) {
    html {
        font-size: 80%;
    }
}














.animated-element, .animated-element2, .animated-element3, .animated-element4, .animated-element5 {
    opacity: 0; /* Initial state hidden */
    transition: opacity 0.5s ease-out;
    transform: translate3d(0, 100%, 0); /* Initial position */
    will-change: transform, opacity; /* Optimize performance */
}

.animated-element6 {
    opacity: 0; /* Initial state hidden */
    transition: opacity 0.5s ease-out;
    will-change: transform, opacity; /* Optimize performance */
}


@keyframes fadeInUpBig {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInUpBig {
    animation-name: fadeInUpBig;
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes fadeInTopLeft {
    from {
        opacity: 0;
        transform: translate3d(-100%, -100%, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.animate__fadeInTopLeft {
    animation-name: fadeInTopLeft;
}


.swiper {
    width: 100%;
    height: 100%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

.swiper-wrapper {
    scroll-snap-type: x mandatory;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #000000;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    object-fit: cover;
}

.swiper-container {
    transform: none;
}
