@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Lexend+Giga:wght@100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

:root{
    --color-scheme: light;
    --color1: #143447;
    --color2: #eef1f3;
    --color3: #2350ab;
    --color4: #102C57;
    --color5: #69a8f1;

    --font1: 'Poppins';
    --font2: 'Inter';
    --font3: 'Rubik';
    --font4: 'Lexend Giga';

    --semanticPaddings: 5rem 5%;
    --buttonPaddings: 1.5rem 3rem;
    --cardPaddings: 2.5rem;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* border: 1px solid red; */
    list-style: none;
    text-decoration: none;
    outline: none;
}

html{
    font-size: 62.5%;
    scroll-behavior: smooth;
    color: var(--color1) !important;
    background: var(--color2) !important;
    color-scheme: light;
    forced-color-adjust: none;
}

body{
    font-family: var(--font1);
    font-size: 1.5rem;
    color: var(--color1) !important;
    background: var(--color2) !important;
    line-height: 1.5;
}

img{
    display: block;
    width: 100%;
    height: auto;
    filter: none !important;
}

.center{
    text-align: center;
    margin-bottom: 1.5rem;
}
.center h2{
    font-family: var(--font3);
    font-size: 4rem;
}
.center p{
    font-weight: 500;
}
.center .eee{
    color: #eee;
}

.span{
    color: var(--color5);
}

/* HERO */
.hero{
    width: 100%;
    height: 130vh;
    background: url(../imgs/gradient-black-background-with-cubes.avif), linear-gradient(#fff 10%, #111);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-blend-mode: multiply;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--semanticPaddings);
}

.hero .div1{
    width: 100%;
}

.hero .div1 h1{
    font-family: var(--font3);
    font-size: 5rem;
    /* background: linear-gradient(to right, var(--color2)40%, #555);
    background-clip: text;
    color: transparent; */
    color: var(--color2);
    line-height: 1.2;
    margin-bottom: 2.5rem;
}

/*  */
.hero .div1 p{
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--color2);
    margin: .5rem 0 6.9rem;
    /* padding: 0 10rem; */
    padding: 0 18rem;
}

@media (max-width: 900px) {
    .hero .div1 p{
    padding: 0 2.5rem;
}
}
@media (max-width: 500px) {
    .hero .div1 p{
    padding: 0 .5rem;
}
}
/*  */

.hero .div1 .btn-h{
    display: inline-block;
    color: #222;
    background: linear-gradient(to left, var(--color5) 50%, #111 50%) right;
    background-size: 210%;
    border: 1.5px solid var(--color5);
    border-radius: 5px;
    font-weight: 600;
    margin-inline: .1rem;
    margin-bottom: 1rem;
    padding: var(--buttonPaddings);
    transition: .5s ease-in-out;
}

.hero .div1 .btn2{
    color: var(--color2);
    background: linear-gradient(to left, transparent 50%, #111 50%) right;
    background-size: 200%;
    border: 1.5px solid var(--color2);
}

.hero .div1 .btn-h:hover{
    color: var(--color5);
    border-color: var(--color5);
    box-shadow: 0 0 10px var(--color5);
    background-position: left;
}


/* BENEFITS */
.benefits{
    width: 100%;
    padding: var(--semanticPaddings);
}

.benefits .benefits-card{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    padding: 1.5rem .5rem;
}

.benefits-card .cards-row{
    padding: 0 .5px;
}

.benefits-card .card{
    display: block;
    width: 100%;
    background: var(--color5);
    border-radius: 25px;
    margin-top: 1.5rem;
    padding: var(--cardPaddings);
}

.benefits-card .card img{
    width: 10rem;
}

.benefits-card .card h3{
    font-family: var(--font3);
    font-weight: bolder;
    font-size: 2.5rem;
    color: #123;
    margin-bottom: 1.5rem;
}

.benefits-card .card p{
    font-family: var(--font1);
    font-weight: 600;
    font-size: 1.4rem;
    color: #123;
}

.benefits-card .dark-card{
    background: #123;
}

.benefits-card .dark-card h3{
    color: var(--color5);
}

.benefits-card .dark-card p{
    color: var(--color2);
}


/* WEBSITE TEMPLATES */
.templates{
    width: 100%;
    color: var(--color2);
    background: #123;
    padding: var(--semanticPaddings);
}

.templates .center h2{
    /* background: linear-gradient(to right, var(--color2)40%, #333);
    background-clip: text;
    color: transparent; */
    color: var(--color2);
}

.templates .templates-card{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    padding: 1.5rem .5rem;
    overflow: hidden;
}

.templates-card .template{
    box-shadow: 0 0 5px var(--color2);
    border-radius: 15px;
    padding: var(--cardPaddings);
}
.templates-card .template:hover{
    transform: translateY(-1.5%);
}

.templates .templates-card h4{
    font-size: 1.6rem;
    font-weight: 600;
    margin: 2.5rem 0 1.5rem;
}
.templates .templates-card .p{
    color: #eee;
    font-size: 1.4rem;
}

.templates .templates-card img{
    box-shadow: 0 0 5px #111;
    border-radius: 5px;
    margin-bottom: 2.5rem;
}

.templates .templates-card .features{
    margin-bottom: 1.5rem;
}

.templates .templates-card .pricing{
    display: flex;
    align-items: center;
    gap: .8rem;
}

.templates .templates-card .pricing .strike{
    text-decoration: line-through;
    color: red;
}

.templates .templates-card .pricing .price{
    border: 1.5px solid var(--color5);
    border-radius: 5.5px;
    padding: 0 1rem;
}

.templates .templates-card .btns{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 1rem;
    margin-top: 2.5rem;
}
.templates .templates-card .btns .buy{
    background-color: var(--color5);
    color: var(--color1);
    border-color: var(--color5);
    font-weight: 500;
}

.templates .templates-card .btns a{
    color: var(--color2);
    border: 1.5px solid var(--color2);
    border-radius: 5px;
    padding: 1rem 1.5rem;
    transition: .5s;
}
.templates .templates-card .btns a:hover{
    color: var(--color5);
    background: transparent;
    border-color: var(--color5);
    box-shadow: 0 0 5px var(--color5);
}

.content{
    display: none;
    transition: 1s ease-in-out;
}
.show{
    display: block;
    transition: 1s ease-in-out;
}

/* CATEGORY FILTER */
.choose-category{
    margin: 5rem 0 1.5rem;
    text-align: center;
}

#templates .btn {
    color: var(--color2);
    background: transparent;
    font-family: var(--font1);
    font-size: 1.5rem;
    font-weight: 500;
    border: 1.5px solid var(--color2);
    border-radius: 5px;
    padding: .5rem 1rem;
    margin: .5rem;
    cursor: pointer;
    transition: .3s ease-in-out;
}
#templates h3{
    text-align: center;
    color: var(--color5);
    font-weight: 600;
}
#templates .features p{
    opacity: .95;
}
#templates .btn:hover {
    color: var(--color4);
    background: var(--color5);
    border-color: var(--color5);
}
#templates .btn.active {
    color: var(--color4);
    background-color: var(--color5);
    border-color: var(--color5);
}

/* Mobile Dropdown Filter Styles */
.custom-dropdown-mobile {
  display: none;
  position: relative;
  max-width: 280px;
  margin: 3.5rem auto 2.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--color);
  z-index: 1;
}

.dropdown-selected {
  background-color: #0f2233;
  padding: 1rem 1.5rem;
  border: 1.5px solid var(--color2);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dropdown-selected .icon {
  margin-right: 0.5rem;
}

.dropdown-options {
  display: none;
  position: absolute;
  width: 100%;
  background: #0f2233;
  border: 2px solid var(--color1);
  border-top: none;
  border-radius: 1.5px;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
}

.dropdown-options div {
  padding: 1rem 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background 0.3s;
}

.dropdown-options div:hover {
  background-color: var(--color5);
  color: var(--color1);
}

.dropdown-options .icon {
  margin-right: 0.8rem;
}

/* Show on mobile */
@media (max-width: 768px) {
  .choose-category {
    display: none;
  }
  .custom-dropdown-mobile {
    display: block;
  }
}




/* SERVICES */
.services{
    width: 100%;
    padding: var(--semanticPaddings);
}

.services .center{
    margin-bottom: 5rem;
}

.services .div{
    margin-bottom: 2.5rem;
}

.services .div h3{
    font-size: 2.5rem;
    margin-bottom: 1rem;
}
.services .div h3 i, .services .div h3 a{
    color: var(--color4);
}
.services .div .sub-service{
    font-size: 1.7rem;
}
.services .div p{
    margin-bottom: .5rem;
}

#services .price{
    margin-bottom: 2rem;
}

#services .offered__service p{
    line-height: 1.8;
}


/* CONTACT */
.contact{
    width: 100%;
    height: 100%;
    color: var(--color2);
    background: #123;
    padding: var(--semanticPaddings);
}

.contact .center h2{
    /* background: linear-gradient(to right, var(--color2)40%, #333);
    background-clip: text;
    color: transparent; */
    color: var(--color2);
}
.contact .center{
    margin-bottom: 5rem;
}

.contact .contact__form{
    display: flex;
    flex-direction: column;
    gap: 5rem;
    align-items: center;
    justify-content: center;
    margin: 4rem 0 0;
}

/* DIV1 */
.contact__form .div1{
    border: 2px solid var(--color1);
    box-shadow: 0 0 5px var(--color5);
    border-radius: 15px;
    padding: var(--cardPaddings);
}

.contact__form label{
    font-size: 1.2rem;
    transition: .4s ease-in-out;
    cursor: pointer;
}
.contact__form label:hover{
    color: var(--color5);
}
.contact__form input, .contact__form textarea{
    max-width: 100%;
    width: 40rem;
    margin: .5rem 0 2rem;
    padding: .9rem 1rem;
    border-radius: 4px;
    border: 1.4px solid var(--color1);
    box-shadow: 0 0 2.5px var(--color5);
    background: transparent;
    color: var(--color2);
    transition: .4s ease-in-out;
}
.contact__form input::placeholder, .contact__form textarea::placeholder{
    color: var(--color2);
    opacity: .5;
}
.contact__form textarea{
    height: 10rem;
    resize: none;
}
.contact__form input:focus, .contact__form textarea:focus{
    border-color: var(--color5);
    box-shadow: 0 0 10px var(--color5);
}

.contact__form button{
    font-family: var(--font1);
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 500;
    padding: 1rem 1.3rem;
    border-radius: 3.5px;
    color: #123;
    background: var(--color5);
    border: 1.5px solid var(--color5);
    cursor: pointer;
    transition: .3s ease-in-out;
}
.contact__form button:hover{
    color: var(--color5);
    background: transparent;
    box-shadow: 0 0 10px var(--color5);
}

.btns{
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.btns span{
    border: 1.5px solid var(--color2);
    border-radius: 5px;
    padding: 1rem 2rem;
    cursor: pointer;
    transition: .3s;
}

.btns span:hover{
    color: var(--color5);
    border-color: var(--color5);
}

/* DIV2 */
.contact__form .div2{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 5rem;
    max-width: 100%;
    background: #123;
    border: 2.5px solid var(--color1);
    border-radius: 15px;
    box-shadow: 0 0 5px var(--color5);
    padding: 2rem 5rem;
}
.contact__form .div2 i{
    color: var(--color5);
    font-size: 3.5rem;
}
.contact__form .div2 .c{
    color: var(--color3);
}
.contact__form .div2 h2{
    font-family: var(--font3);
    font-weight: 500;
    text-align: center;
}
.contact__form .div2 h3{
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: .5rem;
}
.contact__form .div2 p{
    font-size: 1.3rem;
    color: var(--color2);
}
.contact__form .div{
    display: flex;
    flex-direction: column;
    /* background: var(--color4); */
    border-radius: 50%;
    /* box-shadow: 0 0 5px var(--color5); */
    padding: 2.5rem;
}
/* CONTACT END */


/* NOTE SECTION START */
.note{
    padding: 2rem 12%;
    color: #123;
}
.note .mb{
    margin-bottom: 1.5rem;
}
/* NOTE SECTION END */



/* FAQ START */
.faq {
  margin: 0 auto;
  padding: 6rem 24%;
  width: 100%;
}
.faq h2{
    font-family: var(--font4);
    font-size: 3.5rem;
    font-weight: 600;
    margin-bottom: 2.5rem;
    text-align: center;
    color: #000;
}

.accordion {
  .accordion-item {
    border-bottom: 1.5px solid #123;
    button[aria-expanded='true'] {
      border-bottom: 1.5px solid #123;
    }
  }
  button {
    position: relative;
    display: block;
    text-align: left;
    width: 100%;
    padding: 1em;
    padding-left: 1rem;
    font-size: 1.6rem;
    font-weight: 600;
    border: none;
    background: none;
    outline: none;
    &:hover, &:focus {
      cursor: pointer;
      color: var(--color5);
      background: #111;
      &::after {
        cursor: pointer;
        color: #111;
        border: 1px solid #123;
      }
    }
    .accordion-title {
      padding: 1em 1.5em 1em 0;
    }
    .icon {
      display: inline-block;
      position: absolute;
      top: 15px;
      right: .5rem;
      width: 22px;
      height: 22px;
      /* border: 1.5px solid; */
      /* border-radius: 22px; */
      &::before {
        display: block;
        position: absolute;
        content: '';
        top: 9px;
        left: 5px;
        width: 10px;
        height: 2px;
        background: currentColor;
      }
      &::after {
        display: block;
        position: absolute;
        content: '';
        top: 5px;
        left: 9px;
        width: 2px;
        height: 10px;
        background: currentColor;
      }
    }
  }
  button[aria-expanded='true'] {
    color: var(--color5);
    background: #111;
    .icon {
      &::after {
        width: 0;
      }
    }
    + .accordion-content {
      opacity: 1;
      max-height: 20em;
      transition: all 200ms linear;
      will-change: opacity, max-height;
    }
  }
  .accordion-content {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 200ms linear, max-height 200ms linear;
    will-change: opacity, max-height;
    background: #fff;
    p {
      font-size: 1.5rem;
      margin: 2em 0;
      padding: .2rem 1em;
      color: #000;
      /* border: 1.5px solid #fff; */
    }
  }
}
/* FAQ END */



/* FOOTER */
.footer{
    width: 100%;
    color: var(--color2);
    background: #111;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 5%;
}
.footer p{
    font-size: 1.2rem;
    font-weight: 400;
    padding: 0;
    margin: 0;
}
.footer p span{
    color: var(--color5);
}
.footer .legals a{
    color: var(--color2);
    font-size: 1.4rem;
    margin-right: 1.5rem;
    transition: .3s;
}
.footer .legals a:hover{
    color: var(--color5);
    text-decoration: underline;
}

/* Modal Background */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    color: #123;
    background-color: rgba(0, 0, 0, 0.5);
    overflow: auto; /* Enables scrolling for long content */
}

/* Modal Content */
.modal-content {
    background-color: #fff;
    margin: 10% auto;
    padding: 20px;
    width: 90%;
    max-width: 600px; /* Restrict max width for large screens */
    border-radius: 8px;
    position: relative;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    animation: fadeIn 0.3s ease-in-out;
}
.modal-content h2{
    margin-bottom: 2.5rem;
}
.modal-content p{
    font-size: 1.5rem;
}

/* Close Button */
.close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 20px;
    cursor: pointer;
}

/* Responsive Design */
@media (max-width: 480px) {
    .modal-content {
        width: 80%; /* Make it wider on small screens */
        padding: 15px;
    }
    .modal-content p{
        font-size: 1.3rem;
    }
}

/* Fade-in animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* LOGO ICONS SLIDER START */
.slider__section{
    width: 100%;
    height: 100%;
    background: #f6f6f6;
    padding: 2.4rem 0;
    border-bottom: 1.5px solid #ddd;
}
.slider{
    overflow: hidden;
}
.slider__section p{
    padding: 0 25rem;
}
@media (max-width: 900px) {
    .slider__section p{
    padding: 0 2.5rem;
}
}
@media (max-width: 500px) {
    .slider__section p{
    padding: 0 .5rem;
}
}
.slider img{
    width: 4rem;
    margin: 2.5rem 1.5rem 0;
}
.slider__items{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 36px;
    transition: .4s;
    animation: scrolling 14s linear infinite;
}
@keyframes scrolling {
    0%{
        transform: translateX(115%);
    }
    100%{
        transform: translateX(-150%);
    }
}

@media (max-width: 600px) {
    @keyframes scrolling {
        0%{
            transform: translateX(200%);
        }
        100%{
            transform: translateX(-200%);
        }
    }
}
/* LOGO ICONS SLIDER END */