/* 
 * Style.css
 *
 * Structure:
                #base
                #components
                #layout
                #utilities 
                #pages
*/
:root {
    --font-size: 14px;
}

/* -------------------------------------------------------------------------- */
/*                                    #base                                   */
/* -------------------------------------------------------------------------- */

/* Variable font */
@font-face {
    font-family: "VazirmatnVar";
    font-stretch: normal;
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src:
        url("../vendor/fonts/vazir/Vazirmatn-VariableFont_wght.woff2") format("woff2"),
        url("../fonts/vazir/Vazirmatn-VariableFont_wght.woff") format("woff"),
        url("../fonts/vazir/Vazirmatn-VariableFont_wght.ttf") format("truetype");
}

/* Static fallback fonts */
@font-face {
    font-family: "Vazirmatn";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src:
        url("../vendor/fonts/vazir/static/Vazirmatn-Regular.woff2") format("woff2"),
        url("../vendor/fonts/vazir/static/Vazirmatn-Regular.woff") format("woff"),
        url("../vendor/fonts/vazir/static/Vazirmatn-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Vazirmatn";
    font-style: normal;
    font-weight: bold;
    font-display: swap;
    src:
        url("../vendor/fonts/vazir/static/Vazirmatn-Bold.woff2") format("woff2"),
        url("../vendor/fonts/vazir/static/Vazirmatn-Bold.woff") format("woff"),
        url("../vendor/fonts/vazir/static/Vazirmatn-Bold.ttf") format("truetype");
}
/* Default font */
.tooltip,
body {
    font-family: "Vazirmatn", sans-serif;
}

/* Use variable font if supported */
@supports (font-variation-settings: normal) {
    body {
        font-family: "VazirmatnVar", sans-serif;
        font-optical-sizing: auto;
    }
}

/* font size */
html,
body {
    font-size: var(--font-size);
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    background-color: #82a092;

    background-image: linear-gradient(to top, #295441, #458b6b, #52a680, #5cba9000);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: 100% max(600px, 30%);
}

/* image */
img {
    max-width: 100%;
}

/*
select every a, button or class start with link
*/
a,
button,
[class*="link"] {
    text-decoration: none;
}

/*
bootstrap btn class
*/
.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

/* -------------------------------------------------------------------------- */
/*                                 #utilities                                 */
/* -------------------------------------------------------------------------- */
/* ---------------------------------- #row ---------------------------------- */
.row-cols-7-custom > .col {
    flex: 0 0 14.2857%;
    max-width: 14.2857%;
}

/* --------------------------------- #clamp --------------------------------- */
.nt-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.nt-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.nt-clamp-4 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
}

/* ------------------------------ #placeholder ------------------------------ */
.light-placeholder::placeholder {
    color: var(--bs-light) !important;
    opacity: 0.75;
}
.light-placeholder::-ms-input-placeholder {
    color: var(--bs-light) !important;
    opacity: 0.75;
}

/* ---------------------------------- #line --------------------------------- */
.title-line {
    width: 1.5rem;
    height: 2px;

    margin: 1rem 0;
}

/* -------------------------------------------------------------------------- */
/*                                 #components                                */
/* -------------------------------------------------------------------------- */
/* ------------------------------- #pagination ------------------------------ */
/*  pagination main */
.pagination-main .page-link {
    --bs-pagination-border-width: 0;
    --bs-pagination-color: var(--bs-dark);
    --bs-pagination-border-radius: 100%;

    width: 3rem;
    height: 3rem;
    padding: 1rem;
    border-radius: var(--bs-border-radius-xl) !important;

    display: flex;
    justify-content: center;
    align-items: center;
}

/* --------------------------------- #modal --------------------------------- */
.modal-dialog {
    --bs-modal-padding: 1.5rem;
    --bs-modal-header-padding: 1.5rem;
    --bs-modal-header-border-width: 0;
    --bs-modal-footer-border-width: 0;
}

/* custom modals */
.custom-modal .modal-content {
    background-color: transparent;
    color: var(--bs-white);

    border: none;
    border-radius: 0;

    text-align: center;
}
.custom-modal .modal-header,
.custom-modal .modal-footer {
    border: none;
    justify-content: center;
}
.custom-modal .btn-close {
    filter: invert(1);
    background-color: rgba(0, 0, 0, 0.25);
}
.custom-modal .form-control {
    border-radius: var(--bs-border-radius-xl);
}
.modal-backdrop.show {
    opacity: 0.9;
    background-color: #000;
}

/* otp */
.otp-input {
    width: 4rem;
    height: 4rem;
}
.otp-input::-webkit-outer-spin-button,
.otp-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* doctor */
#doctorsModal .modal-body .card {
    transition: background-color 0.25s ease-in-out;
}
#doctorsModal .modal-body .card:hover {
    background-color: var(--bs-primary) !important;
}

/* --------------------------------- #swiper -------------------------------- */
.swiper {
    --swiper-theme-color: var(--bs-primary);
}

.swiper-slide-thumb-active {
    opacity: 1 !important;
}

/* swiper expert */
.swiper-expert {
    padding-right: 3rem !important;

    position: relative;
    z-index: 1;
}
.swiper-expert::before,
.swiper-expert::after {
    content: "";

    position: absolute;
    z-index: -1;
    inset: 0;
    top: 0;

    border-radius: var(--bs-border-radius-xl);
}
.swiper-expert::before {
    right: 0;
    background-color: rgba(255, 255, 255, 0.25);
}
.swiper-expert::after {
    right: 1.5rem;
    background-color: rgba(255, 255, 255, 0.25);
}

/* -------------------------------------------------------------------------- */
/*                                   #layout                                  */
/* -------------------------------------------------------------------------- */
/* -------------------------------- #wrapper -------------------------------- */
.wrapper {
    width: 100%;
    max-width: 400px;
    position: relative;

    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width: 576px) {
    .wrapper {
        max-width: 600px;
    }
}

@media screen and (min-width: 768px) {
    .wrapper {
        max-width: 800px;
    }
}

@media screen and (min-width: 992px) {
    .wrapper {
        max-width: 1000px;
    }
}

@media screen and (min-width: 1200px) {
    .wrapper {
        max-width: 1400px;
    }
}

@media screen and (min-width: 1600px) {
    .wrapper {
        max-width: 1680px;
    }
}

.wrapper-xs {
    width: 100%;
    max-width: 380px;
    position: relative;

    margin: 1.5rem auto;
}

.wrapper-sm {
    width: 100%;
    max-width: 576px;
    position: relative;

    margin: 1.5rem auto;
}

.wrapper-md {
    width: 100%;
    max-width: 768px;
    position: relative;

    margin: 1.5rem auto;
}

.wrapper-lg {
    width: 100%;
    max-width: 992px;
    position: relative;

    margin: 1.5rem auto;
}

/* -------------------------------- #overlay -------------------------------- */

#overlay {
    width: 100%;
    height: 100%;

    position: fixed;
    inset: 0;
    z-index: 20;

    background-color: rgba(130, 160, 146, 0.75);
    backdrop-filter: blur(0.25rem);
    -webkit-backdrop-filter: blur(0.25rem);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity 0.3s ease-in-out,
        visibility 0.3s ease-in-out;

    overflow-y: auto;
    padding: 10rem 0;
}

#overlay.overlay.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.no-scroll {
    overflow: hidden;
}

#menu-icon {
    transition: transform 0.3s ease-in-out;
    display: inline-block;
}

#menu-toggle.is-active #menu-icon {
    transform: rotate(90deg);
}

#overlay .overlay-nav {
    /* height: 100%; */
    margin: auto;

    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

#overlay .overlay-link {
    min-width: 200px;
    padding: 0.75rem 1.5rem;

    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 0.4s ease,
        transform 0.4s ease;
}

#overlay.is-active .overlay-link {
    opacity: 1;
    transform: translateY(0);
}

#overlay.is-active .overlay-link:nth-child(1) {
    transition-delay: 0.1s;
}
#overlay.is-active .overlay-link:nth-child(2) {
    transition-delay: 0.2s;
}
#overlay.is-active .overlay-link:nth-child(3) {
    transition-delay: 0.3s;
}
#overlay.is-active .overlay-link:nth-child(4) {
    transition-delay: 0.4s;
}
#overlay.is-active .overlay-link:nth-child(5) {
    transition-delay: 0.5s;
}
#overlay.is-active .overlay-link:nth-child(6) {
    transition-delay: 0.6s;
}
#overlay.is-active .overlay-link:nth-child(7) {
    transition-delay: 0.7s;
}
#overlay.is-active .overlay-link:nth-child(8) {
    transition-delay: 0.8s;
}
#overlay.is-active .overlay-link:nth-child(9) {
    transition-delay: 0.9s;
}
#overlay.is-active .overlay-link:nth-child(10) {
    transition-delay: 1s;
}

/* --------------------------------- #header -------------------------------- */
.header {
    position: relative;
    z-index: 50;
}

.header-list > li {
    position: relative;
}
.header-list > li > ul {
    list-style: none;
    margin: 0;
    width: 100%;
    background-color: var(--bs-primary);
    padding: 1.5rem;
    border-radius: var(--bs-border-radius-xl);
    display: flex;
    flex-direction: column;
    gap: 1rem;

    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
.header-list > li > ul,
.header-list > li > ul a {
    color: var(--bs-light);
}
.header-list > li:hover > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.header .header-panel {
    background-color: #517867;
}
.header .header-panel .header-link {
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-radius: var(--bs-border-radius-xl);
}
.header .header-panel .header-link:not(.active) {
    background-color: transparent;
    border-color: transparent;
}
.header .header-panel .header-link i {
    opacity: 0;
    transition: opacity 0.25s ease-in-out;
}
.header .header-panel .header-link.active i {
    opacity: 1;
}

.header .header-logo {
    width: 45px;
    width: clamp(45px, 5vw, 75px);
    height: auto;
}
.header .header-description {
    font-size: 0.75rem;
    font-size: clamp(0.75rem, 2vw, 1.5rem);
}
.header .header-title {
    font-size: 1rem;
    font-size: clamp(1rem, 2vw, 2.15rem);
}
.header-search {
    background-color: #b4cec2;
}

@media (min-width: 576px) {
}
@media (min-width: 992px) {
}

/* --------------------------------- #footer -------------------------------- */
.footer {
    position: relative;

    color: var(--bs-light);
}
.footer .footer-badges a img {
    max-width: 100px;
    max-height: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.footer .footer-contact .footer-contact-tel {
    font-size: calc(2rem + 1.5vw);
}
@media (min-width: 992px) {
    .footer .footer-contact .footer-contact-tel {
        font-size: inherit;
    }
}

/* ---------------------------------- #main --------------------------------- */
.main {
    flex: 1;
    position: relative;
}
/* --------------------------------- #sticky -------------------------------- */
.sticky-nav .sticky-nav-list {
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
}

/* -------------------------------------------------------------------------- */
/*                                   #pages                                   */
/* -------------------------------------------------------------------------- */

/* --------------------------------- #index --------------------------------- */

/* paper */

.transition-all {
    transition: all 0.25s ease-in-out;
}

.video-hover-wrapper:hover .video-tab-box,
.video-tab-box.active {
    background-color: rgba(0, 0, 0, 0.25) !important;
}

.video-hover-wrapper:hover .video-title,
.video-tab-box.active .video-title {
    color: #ffffff !important;
}

.video-hover-wrapper:hover .action-share {
    opacity: 1 !important;
}

.hover-bg-dark:hover {
    background-color: #343a40;
    color: #fff !important;
}

/* article */

.article-hover-wrapper:hover .article-link-box {
    background-color: rgba(0, 0, 0, 0.25) !important;
}

.article-hover-wrapper:hover .article-title {
    color: #ffffff !important;
}

.article-hover-wrapper:hover .action-share,
.article-hover-wrapper:hover .action-readmore {
    opacity: 1 !important;
}

/* contact */
.index-contact {
    height: 100%;

    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
}
.index-contact button.nav-link {
    min-height: 120px;
    position: relative;

    background-color: var(--bs-primary);
    color: var(--bs-light);
}
.index-contact button.nav-link i.ti {
    opacity: 0;
    transition: opacity 0.1s ease-in-out;
}
.index-contact button.nav-link.active {
    background-color: var(--bs-dark);
}
.index-contact button.nav-link.active i.ti {
    opacity: 100;
}

/* --------------------------------- #story --------------------------------- */

.story {
    flex-grow: 1 !important;
    display: flex;
    justify-content: center;
    align-items: center;
    align-items: stretch;

    width: 100%;
    height: 100%;

    position: relative;
    z-index: 1;

    background-color: #2f2f2f;
}
.story::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;

    width: 100%;
    height: 100%;

    background-color: var(--bs-dark);
    background-image: url(../img/pattern.webp);
    background-size: cover;
    background-position: center;

    opacity: 0.2;
}

.glass-sidebar {
    width: 100%;
    border-radius: var(--bs-border-radius-pill);
    padding: 2rem 0.5rem;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;

    background-color: rgba(78, 102, 91, 0.3);
    backdrop-filter: blur(0.5rem);
    -webkit-backdrop-filter: blur(0.5rem);

    border: 1px solid rgba(255, 255, 255, 0.15);
}
.icon-text {
    font-size: 0.65rem;
}

/* ------------------------------- #dashboard ------------------------------- */
.svg-bg {
    width: 100%;
    height: 100%;
    min-width: 100px;
    min-height: 100px;
    
    background-image: url("../img/bg.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.svg-bg-lg {
    width: 100%;
    height: 100%;
    min-width: 100px;
    min-height: 100px;
    
    color: var(--bs-light);
    background-image: url("../img/bg-lg.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
