:root {
    --color-text: #111e4b;
}

.bg-primary {
    background-color: var(--color-primary) !important;
}

.bg-secondary {
    background-color: var(--color-secondary) !important;
}

.bg-success {
    background-color: var(--success) !important;
}

.bg-gray {
    background-color: var(--gray) !important;
}

.text-primary {
    color: var(--color-primary) !important;
}

.text-secondary {
    color: var(--color-secondary) !important;
}

.text-success {
    color: var(--success) !important;
}

.container {
    max-width: 1440px;
}

.slide-container {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: left;
}

.page-banner>.container {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    text-align: left;
    color: #fff;
}

.home .page-banner {
    display: none;
}

/* ______________________ */
.page-banner {
    background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
    color: #fff;
    min-height: 200px;
}

.page-banner h1 {
    color: #fff;
    font-size: clamp(40px, 6vw, 55px);
    font-weight: 700;
    letter-spacing: 1px;
    transition: all 0.6s ease;
    display: inline-block;
    position: relative;
    text-shadow: 1px 2px 1px #00033357;
}

.page-banner h1::after {
    content: "";
    position: absolute;
    width: 0%;
    height: 3px;
    background: #fff;
    left: 0;
    bottom: -10px;
    transition: width 0.5s ease;
    border-radius: 2px;
}

.page-banner h1:hover {
    transform: scale(1.05) translateY(-5px);
}

.page-banner h1:hover::after {
    width: 100%;
}

/* ______________________ */

.slide img {
    max-height: 700px;
    min-height: 300px;
    object-fit: cover;
}

.banner-subtitle {
    font-size: clamp(30px, 4vw, 45px);
    font-weight: 700;
}

.slide-text h1 {
	font-size: clamp(35px, 4vw, 65px);
	font-weight: 900;
	text-shadow: 0px 3px 1px #000;
}

.header .navbar-nav .nav-item a {
    border-bottom: 3px solid transparent;
}

/* -------------------- */

.contact-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
}

.contact-icon {
    margin-right: 15px;
    line-height: 1.5;
}

.contact-info a {
    color: #ffffff;
    text-decoration: none;

}

.contact-info .address-line {
    display: block;
}

/* -------------- */

.hero-section {
    background-image: url('../img/home-bg1.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    text-align: center;
    color: #ffffff;

}

.hero-content {
    position: relative;
    z-index: 2;
    padding-top: 250px;
    padding-bottom: 100px;
}

.hero-headline {
    font-size: clamp(40px, 5.5vw, 45px);
    font-weight: 900;
    margin-bottom: 1.5rem;
}

/* -------------- */


.section-title {
    font-size: clamp(35px, 4vw, 45px);
    font-weight: 800;
    color: var(--color-text);
    margin-bottom: 50px;
    text-align: center;
}

h2 {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

h2:hover {
    transform: translateY(-5px);
}

.service-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 25px;
}

.box-cus {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.service-card:hover,
.box-cus:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.service-card img {
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    width: 100%;
}

.service-card .card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    text-align: center;
    align-items: center;
}

.service-card .card-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    color: var(--color-text);
}

.service-card .card-text {
    font-size: 18px;
    color: var(--color-text);
    margin-bottom: 30px;
    font-weight: 600;
}

.complex-care-section {
    background-image: url('../img/complex-care.jpg');
    background-size: cover;
    background-position: center left;
    position: relative;
    color: #ffffff;
}

.fw-900 {
    font-weight: 900;
}

.news-section {
    background-color: #804080;
}

.bg-custom-dark {
    background-color: #00000038 !important;
}

.recruitment-process .card {
    background-color: #9d168f;
}

.recruitment-process .card h4 {
    color: #fff;
}

.page-content img {
    transform: scale(1);
    transition: transform 0.4s ease-in-out;
}

.page-content img:hover {
    transform: scale(1.02);
}

.btn {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn:hover {
    transform: scale(1.05);
}

/* .swiper {
    width: 100%;
    padding-bottom: 50px;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 15px;
    object-fit: cover;
} */


.associated .swiper-button-next,
.associated .swiper-button-prev {
    width: 15px;
    height: 15px;

}

.associated .swiper-button-next::after,
.associated .swiper-button-prev::after {
    font-size: 16px;
}

/* ------------ */

.accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23172a5a'%3E%3Cpath fill-rule='evenodd' d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm-1-8V4h2v3h3v2H9v3H7V9H4V7h3z'/%3E%3C/svg%3E");
    transform: rotate(0deg);
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23172a5a'%3E%3Cpath fill-rule='evenodd' d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zM4 7h8v2H4V7z'/%3E%3C/svg%3E");
    transform: rotate(0deg);
}


.accordion-button::before {
    content: attr(data-number) ".";
    margin-right: 10px;
    color: #172a5a;
}

#faqAccordion .accordion-header .accordion-button {
    font-size: 22px;
    font-weight: 700;
    background-color: #f8f9fa;
    color: var(--color-text);
}

#faqAccordion .accordion-body {
    background-color: #f8f9fa;
    font-size: 18px;
    font-weight: 600;
    color: var(--color-text);
}

.page-banner {
    position: relative;
}

.page-banner img {
    min-height: 250px;
    object-fit: cover;
}

.care-list i {
    background-color: var(--color-primary);
    color: #fff;
    padding: 6px 5px;
    border-radius: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-size: 14px;
}

.complex-type .bg-primary,
.complex-type .bg-primary h2 {
    color: #fff;
}

.contact-page .form-control {
    min-height: 50px;
    background-color: #9d168f;
    color: #fff;
}

.contact-page .form-control::placeholder {
    color: #fff;
}




.our-values .icon-circle {
    width: 150px;
    height: 150px;
    background: linear-gradient(135deg, #eaf4ff, #f6faff);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.our-values .icon-circle img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.value-card {
    transition: all 0.35s ease;
    background-color: #fff;
}

.value-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 0.75rem 1.25rem rgba(0, 0, 0, 0.08);
}

.value-card:hover .icon-circle {
    background: linear-gradient(135deg, #007bff20, #0d6efd10);
    transform: scale(1.1);
}

.value-card:hover img {
    transform: scale(1.15);
}

.our-values h3 {
    color: var(--color-secondary);
    font-weight: 700;
}



/* <----------------> */


.training-hero {
    background: #30318e;
    color: #fff;
    border-radius: 1rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.training-card {
    border: none;
    border-radius: 0.75rem;
    transition: all 0.3s ease;
}

.training-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.1);
}

.training-card .card-body {
    padding: 1.25rem;
}
.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 25px !important;
}


.hover-card {
    transition: all 0.4s ease;
}
.hover-card:hover {
    transform: translateY(-8px) scale(1.05);
}

#training-list h3 {
    font-weight: 700;
    color: #063b58;
}

#training-list .card {
    border: none;
    border-radius: 0.75rem;
    transition: all 0.3s ease;
}

#training-list .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08);
}

#training-list .card-title {
    font-size: 20px;
    font-weight: 700;
    color: #9d168f;
}

@media (min-width: 992px) {
    .training-hero {
        padding: 3rem !important;
    }
}

/* <----------------> */

@media screen and (min-width: 991px) {
    .w-lg-auto {
        width: auto !important;
    }
}

@media screen and (max-width: 1600px) {
    .logo {
        max-width: 100px;
    }
}

@media screen and (min-width: 1200px) {

    .header .navbar-nav .nav-item a:hover,
    .header-main .navbar-nav .nav-item.active a {
        color: var(--color-primary);
        background-color: #ffffff00;
        border-bottom: 3px solid var(--color-primary);
    }
}

@media screen and (min-width: 1200px) and (max-width: 1400px) {

    .header .navbar-nav .nav-item a {
        font-size: 18px;

    }



}


@media screen and (max-width: 767px) {


    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 35px;
    }

    h3 {
        font-size: 25px;
    }

    h4 {
        font-size: 22px;
    }

    h5 {
        font-size: 20px;
    }

}