* {
    font-family: Cairo, sans-serif !important
}

.blog-card,
.features-card {
    box-shadow: var(--shadow-2)
}

.footer-list-title,
.h1,
.h2,
.h3,
.logo {
    font-family: var(--ff-roboto)
}

.btn-outline,
.copyright,
.features-card,
.text-center {
    text-align: center
}

#preloader,
.img-cover {
    width: 100%;
    height: 100%
}

:root {
    --russian-violet: #4B749F;
    --dark-purple: hsl(268, 22%, 15%);
    --eerie-black: hsl(240, 4%, 10%);
    --davys-gray: hsl(0, 0%, 34%);
    --light-gray: hsl(0, 0%, 84%);
    --cultured-1: hsl(0, 0%, 98%);
    --cultured-2: hsl(280, 14%, 96%);
    --cultured-3: hsl(280, 9%, 94%);
    --gainsboro: hsl(0, 1%, 85%);
    --black_10: hsla(0, 0%, 0%, 0.1);
    --black_5: hsla(0, 0%, 0%, 0.05);
    --pumpkin: #4B749F;
    --white: hsl(0, 0%, 100%);
    --black: hsl(0, 0%, 0%);
    --ff-poppins: "Poppins", sans-serif;
    --ff-roboto: "Roboto", sans-serif;
    --fs-1: 3rem;
    --fs-2: 2rem;
    --fs-3: 1.5rem;
    --fs-4: 1.4rem;
    --fs-5: 1.3rem;
    --fw-900: 900;
    --fw-700: 700;
    --fw-600: 600;
    --fw-500: 500;
    --section-padding: 50px;
    --shadow-1: 0px 0px 20px var(--black_10);
    --shadow-2: 0 0 20px 4px var(--black_5);
    --radius-6: 6px;
    --radius-10: 10px;
    --transition-1: 0.25s ease;
    --transition-2: 0.5s ease;
    --cubic-in: cubic-bezier(0.51, 0.03, 0.64, 0.28);
    --cubic-out: cubic-bezier(0.33, 0.85, 0.4, 0.96)
}

a,
button {
    border: none
}

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

li {
    list-style: none
}

body,
html {
    overflow-x: hidden
}

a {
    text-decoration: none;
    color: inherit;
    outline: 0
}

.logo img {
    width: 130px;
}

a,
button,
img,
ion-icon,
span {
    display: block
}

img {
    height: auto
}

button {
    background: 0 0;
    font: inherit;
    cursor: pointer
}

ion-icon {
    pointer-events: none
}

address {
    font-style: normal
}

html {
    font-family: var(--ff-poppins);
    font-size: 10px;
    scroll-behavior: smooth
}

body {
    background-color: var(--white);
    font-size: 1.6rem;
    color: var(--davys-gray)
}

:focus-visible {
    outline-offset: 4px
}

::-webkit-scrollbar {
    width: 10px
}

.header,
.navbar,
.navbar-list-container,
.w-100 {
    width: 100%
}

::-webkit-scrollbar-track {
    background-color: #f9f9f9
}

::-webkit-scrollbar-thumb {
    background-color: #ccc
}

::-webkit-scrollbar-thumb:hover {
    background-color: #b2b2b2
}

.container {
    padding-inline: 15px
}

.btn {
    color: var(--color, var(--white));
    font-size: var(--fs-4);
    max-width: var(--width, max-content);
    padding: 10px 20px;
    border-radius: var(--radius-10);
    transition: var(--transition-1)
}

.btn-primary,
.btn-secondary:is(:hover, :focus) {
    background-color: var(--pumpkin)
}

.btn-primary:is(:hover, :focus),
.btn-secondary {
    background-color: var(--russian-violet)
}

.btn-outline {
    --color: var(--pumpkin);
    --width: 100%;
    font-weight: var(--fw-500);
    border: 1px solid var(--cultured-3)
}

.btn-outline:is(:hover, :focus) {
    background-color: var(--pumpkin);
    color: var(--white)
}

.section {
    padding-block: var(--section-padding)
}

.section-subtitle {
    color: var(--pumpkin);
    font-size: var(--fs-3);
    margin-block-end: 5px
}

.section-header-title {
    color: var(--pumpkin);
    font-size: 30px
}

.h1,
.h2 {
    font-size: var(--fs-1)
}

.h2,
.h3 {
    color: var(--eerie-black)
}

.h3 {
    font-size: var(--fs-2)
}

.card-text,
.section-text {
    font-size: 18px;
    line-height: 1.8
}

.btn-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.btn-item-link {
    overflow: hidden;
    border-radius: var(--radius-10)
}

.btn-item-link .img {
    width: 136px
}

.section-title {
    margin-block: 10px 20px 0
}

:is(.features, .blog) :is(.section-subtitle, .section-title) {
    text-align: center
}

.img-holder {
    aspect-ratio: var(--width)/var(--height);
    background-color: var(--light-gray)
}

.img-cover {
    object-fit: cover;
    transition: var(--transition-2)
}

.header {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--white);
    padding-block: 15px;
    z-index: 4
}

.header.active {
    position: fixed;
    transform: translateY(-100%);
    filter: drop-shadow(var(--shadow-1));
    animation: .5s forwards slideIn
}

@keyframes slideIn {
    0% {
        transform: translateY(-100%)
    }

    100% {
        transform: translateY(0)
    }
}

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

.logo {
    color: var(--dark-purple);
    font-size: 35px;
    font-weight: var(--fw-900)
}

.nav-toggle-btn {
    background-color: var(--pumpkin);
    color: var(--white);
    font-size: 35px;
    padding: 2px 4px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px
}

.navbar {
    display: flex;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: var(--white);
    padding-inline: 15px;
    overflow: hidden;
    max-height: 0;
    visibility: hidden;
    transition: .25s var(--cubic-out)
}

.navbar-list a {
    font-size: 18px
}

.navbar.active {
    max-height: 340px;
    visibility: visible;
    transition-duration: .5s
}

.navbar-list {
    background-color: var(--cultured-1);
    margin-block-end: 15px;
    padding: 20px 30px
}

.navbar-link {
    color: var(--eerie-black);
    font-size: var(--fs-3);
    font-weight: var(--fw-600);
    padding-block: 7px;
    transition: var(--transition-1)
}

.navbar-link:is(:hover, :focus, .active) {
    color: var(--pumpkin)
}

.navbar .btn {
    margin-block: 8px
}


.hero {
    background-color: var(--russian-violet);
    color: var(--white)
}

.about .about-banner,
.hero-content {
    margin-block-end: 20px
}

.hero-title {
    margin-block: 15px 20px
}

.app .section-text,
.app-banner,
.blog .section-title,
.hero .section-text {
    margin-block-end: 30px
}

.features-list {
    display: grid;
    gap: 10px;
    margin-top: 30px
}

.features-item {
    position: relative;
    transition: var(--transition-2)
}

.back-top-btn,
.blog-card .card-title,
.footer-item .item-link,
.footer-link,
.social-link {
    transition: var(--transition-1)
}

.features-item::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 40%;
    background-color: var(--cultured-2);
    border-radius: var(--radius-10);
    z-index: -1
}

.features-item:hover {
    transform: translateY(-10px) !important;
    -webkit-transform: translateY(-10px) !important;
    -moz-transform: translateY(-10px) !important;
    -ms-transform: translateY(-10px) !important;
    -o-transform: translateY(-10px) !important
}

.features-card {
    background-color: var(--white);
    margin: 20px;
    padding: 20px;
    border-radius: var(--radius-10);
    height: 400px;
}
@media(max-width:1200px){
    .features-card {
    
        height: 500px;
    }
    
}
@media(max-width:990px){
    .features-card {
    
        height: 320px;
    }
    
}
@media(max-width:768px){
    .features-card {
    
        height: 400px;
    }
    
}
@media(max-width:425px){
    .features-card {
    
        height: 320px;
    }
    
}

.footer-item,
.footer-link {
    margin-block-start: 10px
}

.features-card .card-icon {
    color: var(--pumpkin);
    font-size: 35px;
    max-width: max-content;
    margin-inline: auto
}

.features-card .card-icon ion-icon {
    --ionicon-stroke-width: 35px
}

.features-card .card-title {
    margin-block: 18px 15px
}

.about,
.footer {
    background-color: var(--cultured-3)
}

.about .section-text,
.about-item:not(:last-child) {
    margin-block-end: 25px
}

.about-list {
    margin-block-end: 35px
}

.about-item {
    display: flex;
    align-items: flex-start;
    gap: 15px
}

.about-item .item-icon {
    background-color: var(--pumpkin);
    color: var(--white);
    font-size: 20px;
    padding: 12px;
    border-radius: 50%
}

.about-item .item-title {
    margin-block-end: 10px
}

.app-content .section-header-title {
    color: #fff;
    font-size: 20px
}

.app .section-title {
    /* color: var(--white) */
}

.blog {
    margin-bottom: 70px
}

.blog-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px
}

.blog-list>li {
    max-width: 100%
}

.blog-card {
    padding: 15px;
    border-radius: var(--radius-10)
}

.back-top-btn,
.social-link {
    border-radius: 50%
}

.blog-card .card-banner {
    border-radius: var(--radius-10);
    overflow: hidden
}

.blog-card:is(:hover, :focus-within) .img-cover {
    transform: scale(1.2)
}

.blog-card .card-content {
    padding: 15px;
    padding-block-start: 25px
}

.blog-card :is(.card-meta-list, .card-meta-item) {
    display: flex;
    align-items: center
}

.blog-card .card-meta-list {
    gap: 15px;
    margin-block-end: 15px
}

.blog-card .card-meta-item {
    gap: 6px
}

.blog-card .card-meta-item ion-icon {
    color: var(--pumpkin);
    font-size: var(--fs-5)
}

.blog-card .card-meta-text {
    font-size: var(--fs-5)
}

.blog-card .h3 {
    margin-block-end: 15px
}

.blog-card .card-title:is(:hover, :focus) {
    color: var(--pumpkin)
}

.footer-top .container {
    display: grid;
    gap: 30px
}

.footer-top .section-text {
    margin-block: 15px 22px
}

.social-list {
    display: flex;
    gap: 15px
}

.social-link {
    background-color: var(--white);
    padding: 12px
}

.social-link:is(:hover, :focus) {
    background-color: var(--pumpkin);
    color: var(--white);
    transform: translateY(-2px)
}

.footer-list-title {
    color: var(--eerie-black);
    font-size: var(--fs-2);
    font-weight: var(--fw-700);
    margin-block-end: 20px
}

.copyright,
.footer-item .item-link,
.footer-link {
    font-size: var(--fs-4)
}

.footer-item .item-link:not(.address):is(:hover, :focus),
.footer-link:is(:hover, :focus) {
    color: var(--pumpkin)
}

.footer-item {
    display: flex;
    align-items: flex-start;
    gap: 10px
}

.footer-item ion-icon {
    flex-shrink: 0;
    color: var(--pumpkin);
    font-size: 17px;
    margin-block-start: 2px
}

.footer-bottom {
    padding-block: 20px;
    border-block-start: 1px solid var(--gainsboro)
}

.copyright-link {
    color: var(--pumpkin);
    display: inline-block
}

.back-top-btn {
    position: fixed;
    bottom: 30px;
    right: 150px;
    background-color: var(--pumpkin);
    color: var(--white);
    padding: 10px;
    opacity: 0;
    visibility: hidden
}

.back-top-btn.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(51px)
}

@media (min-width:575px) {
    .container {
        max-width: 540px;
        width: 100%;
        margin-inline: auto
    }

    .features-list {
        grid-template-columns: 1fr 1fr;
        column-gap: 20px
    }

    .app-banner {
        max-width: max-content
    }

    .footer-top .container {
        grid-template-columns: 4fr 1fr
    }
}

@media (min-width:768px) {
    :root {
        --fs-1: 4.5rem
    }

    .container {
        max-width: 720px
    }

    .h2 {
        --fs-1: 3.5rem
    }

    .btn {
        font-size: unset;
        padding: 15px 30px
    }

    .btn-item-link .img {
        width: 150px
    }

    .navbar .btn {
        font-size: var(--fs-4);
        padding: 10px 20px
    }

    .blog-list {
        gap: 20px
    }

    .blog-list>li {
        max-width: calc(50% - 10px)
    }
}

@media (min-width:992px) {
    :root {
        --section-padding: 100px
    }

    .container {
        max-width: 960px
    }

    .btn-item-link .img {
        width: 185px
    }

    .nav-toggle-btn {
        display: none
    }

    .navbar,
    .navbar-list,
    .navbar.active {
        all: unset
    }

    .navbar-list {
        display: flex;
        align-items: center;
        gap: 30px
    }

    .hero .container {
        display: grid;
        grid-template-columns: 2fr 1fr;
        align-items: center
    }

    .about-banner,
    .app-banner,
    .hero-content {
        margin-block-end: 0
    }

    .features-list {
        grid-template-columns: repeat(4, 1fr);
        margin-top: 60px
    }

    :is(.about, .about-2, .app) .container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 60px
    }

    .app {
        padding-block: 0
    }

    .app-content {
        padding-block: var(--section-padding)
    }

    .app-banner {
        transform: translateY(100px)
    }

    .blog-list>li {
        max-width: calc(33.33% - 13.33px)
    }

    .footer-top .container {
        grid-template-columns: 1fr 0.5fr 0.5fr 0.5fr;
        gap: 50px
    }
}

@media (min-width:1200px) {

    .h2,
    : root {
        --fs-1: 4rem
    }

    .container {
        max-width: 1180px
    }

    .copyright,
    .footer-link,
    .section-text {
        --fs-4: 1.5rem
    }

    .footer-list-title,
    .h3 {
        --fs-2: 2.2rem
    }

    .header {
        padding-block: 20px
    }

    :is(.header, .hero) .container {
        max-width: unset;
        padding-inline: 55px
    }

    .header .btn {
        font-size: var(--fs-3);
        padding: 14px 30px;
        border-radius: var(--radius-6);
        margin-block: 0
    }

    .blog-list,
    .features-list {
        gap: 25px
    }

    .features-card {
        padding: 30px
    }

    .blog-list>li {
        max-width: calc(33.33% - 16.66px)
    }

    .social-link {
        font-size: 18px;
        padding: 14px
    }

    .back-top-btn {
        font-size: 24px;
        padding: 13px;
        bottom: 40px
    }

    .back-top-btn.active {
        transform: translateX(120px);
        -webkit-transform: translateX(120px);
        -moz-transform: translateX(120px);
        -ms-transform: translateX(120px);
        -o-transform: translateX(120px)
    }
}

@media (max-width:991px) {
    .contact-btn {
        display: none
    }
}

@media (min-width:991px) {
    .contact-btn2 {
        display: none
    }
}

.copyright-link {
    margin-top: 8px
}

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999
}

.loader {
    border: 8px solid #f3f3f3;
    border-top: 8px solid #3498db;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: 1s linear infinite spin
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.blog-subTitle {
    width: 500px;
    max-width: 100%;
    margin: 0 auto 30px
}

@media(max-width:991px) {
    .about-banner {
        margin-top: 100px
    }

    .section.app .container {
        display: flex;
        flex-direction: column
    }

    .app-figure {
        order: 1
    }

    .app-section-content {
        order: 0;
        margin-bottom: 60px
    }

    .blog {
        margin-top: 50px
    }
}

@media(max-width:1200px) {
    .back-top-btn {
        right: 90px;
        width: 50px;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 27px
    }
}

@media(min-width:992px) {
    section.about {
        padding: 0 !important
    }
}

@media(max-width:900px) {
    .navbar-list {
        width: 100%
    }
}

section.about {
    padding: 30px !important
}

.hero{
    padding : 210px 0 50px !important ;
    }

.hero {
    padding-block: 0
}

@media(max-width:1600px) {
    .hero {
        padding: 140px 0 0 0 !important
    }
}
@media(max-width:768px) {
    .hero-title {
       text-align: center;
    }

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

    .btn-list{
        text-align: center;
        display: flex;
        justify-content: center;
    }
    .img-footer{
        display: flex;
        justify-content: center;
    }
    .footer-brand{
        text-align: center;
    }
    .social-list{
        display: flex;
        justify-content: center;
    }
    .footer-list{
        text-align: center;
    }
    .footer-item{
        text-align: center;
        display: flex;
        justify-content: center;
    }
    .section-header-title{
        text-align: center;
    }
}
