@font-face{font-family:Cairo;src:url(../fonts/Cairo-ExtraBold.woff2) format('woff2'),url(../fonts/Cairo-ExtraBold.woff) format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Cairo;src:url(../fonts/Cairo-Bold.woff2) format('woff2'),url(../fonts/Cairo-Bold.woff) format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Cairo;src:url(../fonts/Cairo-Black.woff2) format('woff2'),url(../fonts/Cairo-Black.woff) format('woff');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:Cairo;src:url(../fonts/Cairo-Medium.woff2) format('woff2'),url(../fonts/Cairo-Medium.woff) format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Cairo;src:url(../fonts/Cairo-SemiBold.woff2) format('woff2'),url(../fonts/Cairo-SemiBold.woff) format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Cairo;src:url(../fonts/Cairo-Regular.woff2) format('woff2'),url(../fonts/Cairo-Regular.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Cairo;src:url(../fonts/Cairo-Light.woff2) format('woff2'),url(../fonts/Cairo-Light.woff) format('woff');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Cairo;src:url(../fonts/Cairo-ExtraLight.woff2) format('woff2'),url(../fonts/Cairo-ExtraLight.woff) format('woff');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:'Markazi Text';src:url(../fonts/MarkaziText-Bold.woff2) format('woff2'),url(../fonts/MarkaziText-Bold.woff) format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Markazi Text';src:url(../fonts/MarkaziText-Regular.woff2) format('woff2'),url(../fonts/MarkaziText-Regular.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Markazi Text';src:url(../fonts/MarkaziText-Medium.woff2) format('woff2'),url(../fonts/MarkaziText-Medium.woff) format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Markazi Text';src:url(../fonts/MarkaziText-SemiBold.woff2) format('woff2'),url(../fonts/MarkaziText-SemiBold.woff) format('woff');font-weight:600;font-style:normal;font-display:swap}

:root{
    --green-light:#C8F1C8;
    --green-light-hover:#a8e6a8;
    --btn-green-light-text:#1B512D;
    --btn-green-light-text-hover:#17452A;
    --green-dark:#2C6E49;
    --green-dark-hover:#2b5847;
    --btn-green-dark-text:#FFFFFF;
    --text-black: #262C24;
    --gray-text:#4D4D4D;
}
body{font-family: "Cairo";font-size: 16px;line-height: 1.3;font-weight: 500;background-color: #FFFFFF;}
h1, h2, h3, h4, h5, h6{color: var(--text-black);letter-spacing: -1px;}
h1{font-size: 40px;line-height: 1.3;font-weight: 300;}
h2{font-family: "Markazi Text";font-size: 48px;line-height: 1;font-weight: 500;}
h3{font-family: "Markazi Text";font-size: 24px;line-height: 1;font-weight: 600;}
h4{font-family: "Markazi Text";font-size: 20px;line-height: 1;font-weight: 500;}
p{color: var(--gray-text); font-weight: 500;}
.green-color{color: var(--green-dark);}
.btn-green-light{font-family: 'Markazi Text';background-color: var(--green-light);color: var(--btn-green-light-text);border: none;border-radius: 80px;padding: 0.5rem 1.5rem;font-weight: 500;font-size: 24px;transition: all .2s ease-in-out}
.btn-green-light:hover{background-color: var(--green-light-hover);color: var(--btn-green-light-text-hover)}
.btn-green-dark{font-family: 'Markazi Text';background-color: var(--green-dark);color: var(--btn-green-dark-text);border: none;border-radius: 80px;padding: 1rem 1.5rem;font-weight: 500;font-size: 24px;transition: background-color .2s ease}
.btn-green-dark:hover{background-color: var(--green-dark-hover);color: #fff}
.icon-btn-light{background-color: var(--green-light);color: var(--btn-green-light-text);border: none;border-radius: 50%;padding: 12px;width: 48px;height: 48px;display: inline-flex;align-items: center;justify-content: center;font-size:  20px;transition: background-color .2s ease}
.icon-btn-light:hover{background-color: var(--green-light-hover)}
.icon-btn-dark{background-color: var(--green-dark);color: var(--btn-green-dark-text);border: none;border-radius: 50%;padding:  12px;width: 48px;height: 48px;display: inline-flex;align-items: center;justify-content: center;font-size:  20px;transition: background-color .2s ease}
.icon-btn-dark:hover{background-color: var(--green-dark-hover)}
.btn-outline-secondary{border-color: #E1E1E1;border-radius: 12px;color:#C8C6C6;}
.btn-outline-secondary:hover,.btn-outline-secondary:focus-visible,.btn-outline-secondary:first-child:active,.btn-outline-secondary.btn.show{border-color: #E1E1E1; background-color: transparent;color:#C8C6C6;box-shadow: 0 0 0 0.25rem var(--green-light);}
.dropdown-item:active{background-color: var(--green-dark);}
.form-control:focus {
    color: #4D4D4D;
    border-color: var(--green-dark);
    outline: 0;
    box-shadow: 0 0 0 .25rem var(--green-light);
}
/* Custom Utilty classes */
.font-cairo{
    font-family: 'Cairo';
}
.font-markazi {
    font-family: "Markazi Text";
}
/* Header */
#header{background-color: #FCFCFC;box-shadow: 5px 5px 48px 0px #0000001A;}
#header .nav-link{font-size:16px;font-weight:600;color:var(--text-black);}
#header .nav-link:hover{color: var(--green-dark);}
#header .nav-item:not(:last-child){margin-right: 24px;}
/* Home Banner */
.hero-section{
    min-height: calc(90vh - 140px);
    padding: 100px 0 85px;
    background-image: url("../images/home-banner-bg.png");
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 50% auto;
}
.hero-section .bold-heading{
    font-size: 32px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -1px;
}
.hero-section .btn-green-light{
    padding: 25px 35px;
    border-radius: 80px;
    gap: 30px;
}
.hero-section .right-image{
    width: 55%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: end;
}
/* Search Bar */
.search-bar-sec{
    padding: 30px 0;
}
.search-bar {
    background-color: #f2f2f2;
    border-radius: 60px;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 990px;
    margin: 0 auto;
}
.search-icon {
    background-color: #e0e0e0;
    border-radius: 50%;
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}
.search-bar input {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    font-family: "Markazi Text";
    font-size: 24px;
    line-height: 1;
    font-weight: 500;
    padding: 16px 0;
}
.search-bar input::placeholder {
    color: #4D4D4D;
}
/* Latest Fatwa section */
.latest-fatwa{
    padding: 0 0 64px;
    background-image: url("../images/latest-fatwa-bg.png");
    background-repeat: no-repeat;
    background-size: 350px auto;
    background-position: center left;
}
/* General Fatwa Card */
.general-fatwa-card {
    font-family: "Markazi Text";
    background-color: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 5px 5px 48px 0px #0000001A;
}
.general-fatwa-card .icon-wraper {
    width: 60px;
    object-fit: contain;
    margin-left: 10px;
}
.general-fatwa-card .fatwa-date {
    color: var(--green-dark);
}
.general-fatwa-card .fatwa-text {
    margin-top: 10px;
    color: #333;
}
.general-fatwa-card .fatwa-link {
    color: var(--green-dark);
    font-weight: 500;
    font-size: 0.9rem;
    text-decoration: none;
}
.general-fatwa-card .fatwa-link:hover {
    text-decoration: underline;
}
/* General Image Card */
.general-img-card{
    padding: 17px 33px 32px;
    background-color: #F6F9EE;
    border-radius: 12px;
    box-shadow: 5px 5px 48px 0px #0000001A;
}
.general-img-card .main-img{
    border-radius: 12px;
    overflow: hidden;
}
.general-img-card h3{
    margin-bottom: 11px;
}
.general-img-card .green-color:hover{
    color: var(--green-dark-hover);
}
/* Fatawa Videos, Library Section */
.fatawa-videos, .library-sec{
    padding: 0 0 64px;
}
.fatawa-videos .heading-wrapper, .library-sec .heading-wrapper{
    margin-bottom: 77px;
}
.view-more-btn{
    margin-top: 66px;
}
.view-more-btn .btn{
    font-size: 32px;line-height: 1;color: #E1E1E1;font-weight: 500;
}
/* Most Read */
.most-read{
    padding: 0 0 120px;
}
/* Footer */
#footer {
    padding: 55px 0 40px;
    background-color: #FCFCFC;
    box-shadow: 5px 5px 48px 0px #0000001A;
}
#footer .nav-list a {
    font-size: 20px;
    line-height: 1.3;
    color: #4D4D4D;
}
#footer .nav-list a:hover{color: var(--green-dark);}
#footer .nav-list li:not(:last-child){
    margin-bottom: 15px;
}
#footer .social-list li:not(:last-child){
    margin-bottom: 8px;
}
#footer .social-list a {
    font-size: 24px;line-height: 1.3;color: #4D4D4D;text-decoration: none;
}
#footer .social-list a:hover{
    color: var(--green-dark);
}
/* Notification Modal */
#notificationModal.modal{
    overflow: hidden;
}
#notificationModal.modal.fade .modal-dialog{
    transform: translate(0, 20px);
}
#notificationModal.modal.show .modal-dialog {
    transform: none;
}
#notificationModal .modal-dialog{
    max-width: none;
    display: flex;
    align-items: end;
    justify-content: end;
    height: 100%;
    margin: 0;
    padding: 20px;
}
#notificationModal .modal-content {
    width: 789px;
    padding: 40px 0;
    background-color: white;
    border-radius: 24px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    display: block;
    z-index: 1000;
    overflow: hidden;
    bottom: 50%;
    transform: translateY(50%);
}
#notificationModal .notification-item {
    padding: 12px 24px;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: all 0.2s ease;
}
#notificationModal .notification-item:hover {
    background-color: #2C6E4914;
}
#notificationModal .notification-icon {
    background-color: #E1E1E1;
    border-radius: 50%;
    width: 59px;
    height: 59px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}
#notificationModal .notification-text {
    flex-grow: 1;
}
#notificationModal .notification-text .heading{
    margin-bottom: 14px;
}
#notificationModal .notification-time {
    font-size: 12px;
    color: var(--gray-text);
}
/* Login Modal */
.login-modal .modal-dialog {
    max-width: 830px;
}
.login-modal .modal-content {
    padding: 50px 70px;
    border-radius: 24px;
}
.login-modal h2{
    font-size: 32px;
}
.login-modal label{
    font-size: 20px;line-height: 1;
}
.login-modal .form-control{
    padding: 15px 10px;
}
.login-modal .form-control::placeholder{
    color: #C8C6C6;
}
.login-modal .btn-google{
    padding: 15px;
    border-radius: 8px;
    border-color: #E1E1E1;
}
.login-modal .btn-login{
    border-radius: 8px;
    padding: 15px;
}
.login-modal .or-text{
    z-index: 1;
}
.login-modal .or-text::after{
    content: "";border-bottom: 1px solid #E1E1E1;
    position: absolute;bottom: 2px;left: 0;width: 100%;z-index: -1;
}
.login-modal .modal-body {
  padding: 2rem;
}
/* CHATBOT CONTAINER */
#chatbotContainer {
    position: fixed;
    bottom: 30px;
    left: 30px;
    width: 787px;
    background-color: white;
    z-index: 9999;
    display: none;
    border-radius: 24px;
    box-shadow: 5px 4px 30px 0px #00000040;
    /* overflow: hidden; */
}

/* Chatbot HEADER */
#chatbotContainer .chat-header {
    background-color: white;
    padding: 44px 42px 16px;
    font-weight: bold;
    font-size: 16px;
    position: relative;
    border-radius: 24px 24px  0 0;
}
#chatbotContainer .chat-header .header-icon {
    width: 42px;
    margin: 0 auto 12px;
}
#chatbotContainer .close-chat {
    position: absolute;z-index: 10;
    left: calc(100% + 14px);
    top: 0;
    padding: 8px 8px 12px;
    width: 52px;height: 52px;
    color: #4D4D4D;
    background-color: #FFFFFF;
    font-size: 35px;line-height: 1.3;
    display: flex;align-items: center;justify-content: center;
    border: none;
    border-radius: 100px;
    box-shadow: 5px 4px 30px 0px #00000040;
}
/* Chatbot Body */
#chatbotContainer .chat-body {
    padding: 16px 42px 18px;
    max-height: 300px;
    overflow-y: auto;
}
#chatbotContainer .chat-question, #chatbotContainer .chat-answer {
font-family: 'Markazi Text';font-size: 20px;line-height: 1;font-weight: 500;
    background-color: #F8F8F8;
    padding: 18px 45px;
    border-radius: 60px;
    border: 1px solid #E1E1E1;
    max-width: 507px;
    margin: 10px 0 10px auto;
    /* cursor: pointer; */
}
#chatbotContainer .chat-answer{
    background-color: #C8F1C8;
    border-color: var(--green-light-hover);
    margin: 10px auto 10px 0;
}
#chatbotContainer .btn-mufti {
    font-size: 20px;
    padding: 6px 12px;
    flex: none;
}
/* Chatbot FOOTER */
#chatbotContainer .chat-footer {
    padding: 0 16px 38px;
}
#chatbotContainer .chat-footer .arrow-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 64px;height: 64px;
    background-color: #262C24;
    border-radius: 50px;
    padding: 10px;
    cursor: pointer;
}
#chatbotContainer .chat-footer input {
    width: 100%;
    padding: 18px 24px;
    font-size: 20px;
    border: 1px solid #C8C6C6;
    border-radius: 60px;
}
#chatbotContainer .chat-footer input::placeholder{
    color: #E1E1E1;
}
#chatToggleBtn{
    position: fixed;
    bottom: 50px;
    z-index: 1;
    animation: float 3s ease-in-out infinite;
    font-size: 20px;
    max-height: 118px;
}
.hero-section .heading-wrapper{
    margin-bottom: 135px;
}
#notificationToggleBtn{
    position: relative;
}
#notificationToggleBtn .notification-dot{
    width: 8px;
    height: 8px;
    position: absolute;
    background-color: #EB4335;
    border-radius: 100%;
    left: 8px;
    top: 0px;
}
@keyframes float {
        0% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-10px);
        }

        100% {
            transform: translateY(0);
        }
    }
/* Media Queries */
@media (min-width: 1400px) {
    .container {
        max-width: 1388px;
    }
}
@media (max-width: 1399px) {
    .fatawa-videos .heading-wrapper, .library-sec .heading-wrapper{
        margin-bottom: 50px;
    }
    .most-read{
        padding: 0 0 100px;
    }
    #notificationModal .modal-content{width: 600px;padding: 20px 0;}
    /* Login Modal */
    .login-modal .modal-dialog {
        max-width: 650px;
    }
    .login-modal .modal-content{
        padding: 40px 50px;
    }
    .login-modal .btn-google, .login-modal .btn-login{
        padding: 12px;
    }
    .login-modal .form-control {
        padding: 12px 10px;
    }
    /* Chatbot */
    #chatbotContainer{
        width: 650px;
    }
    #chatbotContainer .chat-header {
        padding: 32px 28px 12px;
    }
    #chatbotContainer .chat-body{
        padding: 12px 28px 16px;
    }
    #chatbotContainer .chat-question, #chatbotContainer .chat-answer{
        font-size: 18px;
        padding: 14px 35px;
    }
    #chatbotContainer .chat-footer{
        padding: 0 16px 28px;
    }
    #chatbotContainer .chat-footer input{
        padding: 14px 18px;
    }
    #chatbotContainer .chat-footer .arrow-icon{
        width: 56px;
        height: 56px;
    }
}
@media (max-width: 1199px) {
    h1{font-size: 35px;}
    h2{font-size: 42px;}
    h3{font-size: 22px;}
    h4{font-size: 18px;}
    #header .nav-item:not(:last-child){margin-right: 12px;}
    .hero-section{padding: 80px 0 65px;}
    .hero-section .bold-heading{font-size: 28px;}
    .hero-section .right-image{width: 50%;}
    .hero-section .btn-green-light{padding: 20px 25px;gap: 25px;}
    .hero-section .btn-green-light img{width: 38px;}
    .general-img-card{padding: 15px 28px 22px;}
}
@media (max-width: 991px) {
    h1{font-size: 32px;}
    .btn-green-dark, .btn-green-light{font-size: 24px;}
    #header .navbar-brand{max-width: 110px;}
    #header .nav-item:not(:last-child){margin-right: 0;}
    .hero-section {padding: 60px 0 40px;}
    .hero-section .bold-heading{font-size: 25px;}
    .hero-section .right-image{position: relative;margin-left: auto;}
    .search-bar {
        padding: 10px 18px;
    }
    .search-icon {
        width: 55px;
        height: 55px;
    }
    .search-bar input {
        font-size: 22px;
        padding: 12px 0;
    }
    .view-more-btn {
        margin-top: 50px;
    }
    .most-read{
        padding: 0 0 80px;
    }
    #footer {
        padding: 40px 0 30px;
    }
    #footer .footer-logo{
        max-width: 90px;
    }
    #footer .nav-list a {
        font-size: 18px;
    }
    #footer .social-list li:not(:last-child){
        margin-bottom: 5px;
    }
    #footer .social-list a {
        font-size: 20px;
    }
    /* Login Modal */
    .login-modal .modal-dialog {
        max-width: 550px;
    }
    .login-modal .modal-content{
        padding: 30px 40px;
    }
    .login-modal h2 {
        font-size: 26px;
    }
    .login-modal .btn-google img{
        width: 30px;
    }
    .login-modal .btn-google, .login-modal .btn-login{
        padding: 10px;
    }
    .login-modal label {
        font-size: 16px;
    }
    .login-modal .form-control {
        padding: 10px;
    }
}
@media (max-width: 767px) {
    #notificationModal .modal-content{width: 450px;padding: 15px 0;}
    #notificationModal .notification-icon{width: 45px;height: 45px;}
    #chatbotContainer{
        left: 20px;bottom: 20px;
        width: 500px;
    }
    #chatbotContainer .close-chat{
        left: auto;
        right: 0;
        box-shadow: none;
        width: 45px;height: 45px;
    }
    #chatbotContainer .chat-header {
        padding: 20px 16px 6px;
    }
    #chatbotContainer .chat-header .header-icon {
        width: 35px;
    }
    #chatbotContainer .chat-body{
        padding: 6px 16px 14px;
    }
    #chatbotContainer .chat-question, #chatbotContainer .chat-answer{
        font-size: 18px;
        padding: 12px 15px;
        max-width: 410px;
    }
    #chatbotContainer .chat-footer{
        padding: 0 14px 18px;
    }
    #chatbotContainer .chat-footer input{
        font-size: 18px;
        padding: 14px 16px;
    }
    #chatbotContainer .chat-footer .arrow-icon{
        width: 56px;
        height: 56px;
    }
    #chatToggleBtn{
    position: fixed;
    bottom: 10px;
    /* left: 0; */
    font-size: 16px;
    }
}
@media (max-width: 575px) {
    h1{font-size: 28px;}
    h2{font-size: 36px;}
    .btn-green-light, .btn-green-dark{font-size: 20px;}
    .hero-section{background-size: 100% auto;}
    .hero-section .bold-heading{font-size: 24px;}
    .hero-section .btn-green-light{padding: 16px 20px;gap: 15px;}
    .hero-section .btn-green-light img{width: 32px;}
    .hero-section .right-image{width: 70%;min-width: 280px;}
    .search-bar {
        padding: 8px 14px;
    }
    .search-icon {
        width: 45px;
        height: 45px;
        padding: 10px;
    }
    .search-bar input {
        font-size: 20px;
        padding: 10px 0;
    }
    .view-more-btn {
        margin-top: 50px;
    }
    .most-read{
        padding: 0 0 80px;
    }
    .general-img-card{padding: 15px;}
    .fatawa-videos .heading-wrapper, .library-sec .heading-wrapper{
        margin-bottom: 30px;
    }
    .view-more-btn {
        margin-top: 35px;
    }
    .view-more-btn .btn{
        font-size: 24px;
    }
    .fatawa-videos, .library-sec{
        padding: 0 0 55px;
    }
    /* Notification Modal */
    #notificationModal .modal-content{
        width: 100%;
        max-width: 400px;
    }
    #notificationModal .modal-dialog{
        padding: 10px;
    }
    #notificationModal .notification-item {
        padding: 8px 12px;
    }
    #notificationModal .notification-text .heading {
        margin-bottom: 8px;
    }
    /* Login Modal */
    .login-modal .modal-content{
        padding: 25px 15px;
    }
    .login-modal h2 {
        font-size: 24px;
    }
    .login-modal .btn-google img{
        width: 25px;
    }
    .login-modal .btn-google, .login-modal .btn-login{
        padding: 8px;
    }
    .login-modal .btn-google h3{
        font-size: 18px;
    }
    .login-modal .form-control {
        padding: 8px;
    }
    /* Chatbot */
    #chatbotContainer{
        left: 12px;bottom: 15px;
        width: calc(100% - 24px);
    }
    #chatbotContainer .chat-header {
        padding: 16px 12px 6px;
    }
    #chatbotContainer .chat-header .header-icon {
        width: 32px;
    }
    #chatbotContainer .chat-body{
        padding: 0 12px 10px;
    }
    #chatbotContainer .chat-question, #chatbotContainer .chat-answer{
        font-size: 18px;
        padding: 10px 15px;
        max-width: calc(100% - 5%);
        margin-block: 8px;
    }
    #chatbotContainer .chat-footer{
        padding: 0 14px 18px;
    }
    #chatbotContainer .chat-footer input{
        font-size: 18px;
        padding: 14px 16px;
    }
    #chatbotContainer .chat-footer .arrow-icon{
        width: 56px;
        height: 56px;
    }
}
@media (max-width: 375px){
        #chatbotContainer .chat-question, #chatbotContainer .chat-answer {
            font-size: 16px;
        }
}