/* =========================================================
   THE HHRMA BALI - GLOBAL STYLE
   Bootstrap 5 Custom Theme
========================================================= */


/* =========================
   ROOT VARIABLES
========================= */

:root {

    /* COLORS */
    --primary-color: #14485f;
    --primary-color-opacity: rgba(20, 72, 95, 0.1);
    /*--secondary-color: #C8A15A;*/
    --secondary-color: #0171b7;
    --secondary-color-opacity: rgba(10,102,194,0.1);
    

    --bg-light: #f0f0f0;
    --white: #FFFFFF;

    --text-color: #444444;
    --text-muted: #6B7280;
    --pink:#D0027D;

    --border-color: #E5E7EB;

    /* FONT */
    --font-heading: "Libre Baskerville", serif;
    --font-body: "DM Sans", sans-serif;

    /* SHADOW */
    --shadow-sm: 0 2px 10px rgba(0,0,0,0.05);
    --shadow-md: 0 8px 30px rgba(0,0,0,0.08);

    /* RADIUS */
    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 24px;

}

/* =========================
   GLOBAL
========================= */

body {

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;

    color: var(--text-color);

    background: #fff;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

}


/* =========================
   TYPOGRAPHY
========================= */

h1,
h2,
h3,
h4,
h5,
h6,
.font-heading {

    font-family: var(--font-heading);
    color: var(--primary-color);
    font-weight: 400;
    line-height: 1.3;

}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2.4rem;
}

h3 {
    font-size: 1.8rem;
}

h4 {
    font-size: 1.4rem;
}

p {
    color: var(--text-muted);
}


/* =========================
   TEXT COLORS
========================= */

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

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

.text-muted-custom {
    color: var(--text-muted);
}

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

.text-white-70 {
    color: rgba(255,255,255,0.7) !important;
}

.text-smaller {
    font-size: 15px;
}


/* =========================
   BACKGROUNDS
========================= */

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

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

.bg-light-custom {
    background: var(--bg-light);
}


/* =========================
   BUTTONS
========================= */

.btn {

    border-radius: 6px;
    padding: 8px 16px;

    font-weight: 400;

    transition: all 0.3s ease;
    font-size: 14px;

}

.btn-primary-custom {

    background: var(--primary-color);
    border: none;
    color: #fff;

}

.btn-primary-custom:hover {

    background: #15263d;
    /*transform: translateY(-2px);*/
    color: #fff;

}

.btn-gold {

    background: var(--secondary-color);
    border: none;
    color: #fff;

}

.btn-gold:hover {

    background: var(--secondary-color);
    color: #fff;

}

.btn-outline-gold {

    border: 1px solid var(--secondary-color);
    color: var(--white);
    background: var(--secondary-color);

}

.btn-outline-gold:hover {

    color: var(--white);
    background: var(--secondary-color);

}

.btn-blue {

    border: 1px solid var(--secondary-color);
    color: var(--white);
    background: var(--secondary-color);
    text-transform: uppercase;

}

.btn-blue:hover {

    color: var(--white);
    background: var(--secondary-color);

}

.btn-pink {

    border: 1px solid var(--pink);
    color: var(--white);
    background: var(--pink);
    text-transform: uppercase;

}

.btn-pink:hover {

    color: var(--white);
    background: var(--pink);

}


/* =========================
   NAVBAR
========================= */

.navbar {

    padding: 15px 0;
    background: var(--primary-color);

    border-bottom: none !important;

}

.navbar-brand {

    font-family: var(--font-body);
    font-size: 24px;

}

.navbar .nav-link {

    color: var(--white);
    font-weight: 400;

    margin: 0 12px;

    transition: 0.3s;
    text-transform: uppercase;
    font-size: 14px;

}

.navbar .nav-link:hover,
.navbar .nav-link.active {

    color: var(--secondary-color);

}

.navbar-nav .nav-link.active {
    color: var(--white);
}

/* ========================================= 
    LANGUAGE SWITCHER 
========================================= */ 
    .language-dropdown { 
        margin-right: 20px; 
    } 
    .language-btn { 
        display: flex; 
        align-items: center; 
        gap: 10px; 
        padding: 10px;
        border: 1px solid #aaa; 
        border-radius: 6px; 
        color: #aaa; 
        font-weight: 500; 
        transition: .3s; 
    }
    .language-btn:hover { 
        border-color: #aaa;
        color: #aaa; 
    }
    .language-btn.show {
        border-color: #aaa;
        color: #aaa; 
    }
    .language-btn:focus { 
        box-shadow: none; 
    } 
    .language-flag { 
        width: 22px; 
        height: 16px; 
        object-fit: cover; 
        border-radius: 3px; 
        border: 1px solid rgba(0,0,0,.05); 
    } 
    .language-menu { 
        min-width: 220px; 
        padding: 10px; 
        border: none; 
        border-radius: 6px; 
        box-shadow: 0 10px 30px rgba(0,0,0,.08); 
    } 
    .language-item { 
        display: flex; 
        align-items: center; 
        gap: 12px; 
        padding: 12px 14px; 
        border-radius: 6px; 
        font-weight: 500; 
    } 
    .language-item:hover { 
        background: #F8FAFC; 
    } 
    .language-item.active { 
        background: #EFF6FF; 
        color: #0A66C2; 
    } 
    .language-item.active:hover { 
        background: #EFF6FF; 
    }


/* =========================
   HERO SECTION
========================= */

.hero-title {

    font-size: 2.8rem;

    line-height: 1.2;

    font-family: var(--font-heading);

}

.hero-desc {

    font-size: 17px;

    color: var(--text-muted);

    max-width: 520px;

}


/* =========================
   SEARCH BOX
========================= */

.search-box {

    background: #fff;

    padding: 20px;

    border-radius: 6px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.12);

}

.search-box .form-control,
.search-box .form-select {

    height: 40px;

    border-radius: 6px;

    border: 1px solid #dadada;

}

/* =========================================
HERO FEATURES
========================================= */

.hero-features {

    margin-top: 40px;

    overflow: hidden;

}

.feature-item {

    position: relative;

    text-align: center;

    height: 100%;

    transition: .3s;

}

.feature-icon {

    width: 52px;
    height: 52px;

    margin: 0 auto 14px;

    border-radius: 20px;

    background: var(--secondary-color-opacity);

    color: var(--secondary-color);

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

    font-size: 20px;

}

.feature-item h6 {

    margin-bottom: 4px;

    font-size: 14px;

    font-weight: 400;

    color: #0F1B2D;

    font-family: var(--font-body);

}

.feature-item p {

    margin: 0;

    font-size: 14px;

    color: #6B7280;

}

.border-end-0 {

    border-right: none !important;

}

/* =========================================
HERO RIGHT
========================================= */

.hero-right-wrapper {

    position: relative;

}

.hero-image img {

    border-radius: 6px;

    box-shadow: 0 20px 50px rgba(0,0,0,0.12);

}



/* =========================
   JOB CARD
========================= */

.job-card {

    background: #fff;

    border-radius: 6px;

    padding: 24px;

    border: 1px solid #f2f2f2;

    transition: all 0.3s ease;

    box-shadow: var(--shadow-sm);

}

.job-card:hover {

    transform: translateY(-5px);

    box-shadow: var(--shadow-md);

}

.job-company {

    color: var(--text-muted);
    font-size: 14px;

}

.job-location {

    font-size: 14px;
    color: var(--text-muted);

}

.job-salary {

    color: var(--secondary-color);
    font-weight: 600;

}


/* =========================
   CATEGORY CARD
========================= */

.category-card {

    background: #fff;

    border-radius: 6px;

    padding: 30px;

    text-align: center;

    border: 1px solid #f2f2f2;

    transition: 0.3s;

}

.category-card:hover {

    transform: translateY(-5px);

    box-shadow: var(--shadow-md);

}


/* =========================================
CATEGORIES CARD
========================================= */

.hero-categories {

}

.categories-card {

    background: #fff;

    border-radius: 6px;

    padding: 28px;

    box-shadow: 0 20px 50px rgba(0,0,0,0.10);

}

.category-item {

    display: flex;

    align-items: center;

    gap: 16px;

    padding: 3px 0px;

    border-radius: 6px;

    text-decoration: none;

    transition: .3s;

    margin-bottom: 12px;

}

.category-item:hover {
    transform: translateY(-2px);
}

.category-item:hover h6 {
    color: var(--secondary-color);
}

.category-item:last-child {
    margin-bottom: 0;
}

.category-icon {

    width: 52px;
    height: 52px;

    border-radius: 6px;

    background: var(--primary-color-opacity);

    color: var(--primary-color);

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

    font-size: 20px;

    flex-shrink: 0;

}

.category-item:hover .category-icon {
    background: var(--secondary-color-opacity);

    color: var(--secondary-color);
}

.category-content h6 {

    margin-bottom: 4px;

    color: var(--primary-color);
    font-family: var(--font-body);

}

.category-content small {

    color: var(--text-muted);

}


/* =========================================
SIMPLE NEWSLETTER
========================================= */

.newsletter-simple {
    background-color: #f6f8fe;
    background-image: url('img/news-bg.png');
    background-size: contain;
    background-position: right;
    background-repeat: no-repeat;

    border-radius: 6px;

    padding: 40px 50px;

}

.newsletter-input-group {

    background: #fff;

    border-radius: 6px;

    overflow: hidden;

    box-shadow: 0 5px 20px rgba(0,0,0,0.04);

}

.newsletter-input-group .form-control {

    border: none;

    height: 58px;

    padding-left: 20px;

    font-size: 15px;

}

.newsletter-input-group .form-control:focus {

    box-shadow: none;

}

.newsletter-input-group .btn {

    border-radius: 0;

    padding-left: 28px;
    padding-right: 28px;

}

/* =========================
   LOGIN PAGE
========================= */

.auth-wrapper {

    min-height: 100vh;

}

.auth-left {

    background-size: cover;
    background-position: center;

    position: relative;

    padding: 80px;

    color: #fff;

}

.auth-overlay {

    position: absolute;
    inset: 0;

    background: linear-gradient(
        180deg,
        rgba(0,0,0,0.2),
        rgba(0,0,0,0.6)
    );

}

.auth-content {

    position: relative;
    z-index: 2;

}

.auth-card {

    background: #fff;

    border-radius: 6px;

    padding: 50px;

    box-shadow: var(--shadow-md);

}


/* =========================
   FORMS
========================= */

.form-group {
    margin-bottom: 15px;
}
.form-label {
    margin-bottom: .1rem;
    font-weight: 500;
}
.form-control,
.form-select {

    border-radius: 6px;

    height: 40px;

    border: 1px solid #E5E7EB;

}

.form-control:focus,
.form-select:focus {

    border-color: var(--secondary-color);

    box-shadow: 0 0 0 0.15rem rgba(200,161,90,.15);

}


/* =========================
   FOOTER
========================= */

.footer {

    background: var(--primary-color);

    color: rgba(255,255,255,0.8);

    padding: 80px 0 30px;

}

.footer h5 {

    color: #fff;

    margin-bottom: 20px;

}

.footer a {

    color: rgba(255,255,255,0.7);

    text-decoration: none;

    transition: 0.3s;

}

.footer a:hover {

    color: var(--secondary-color);

}

.footer-bottom {

    border-top: 1px solid rgba(255,255,255,0.08);

    margin-top: 40px;
    padding-top: 20px;

}

.bordered-mute {

    border: 1px solid #ddd;
    padding:4px;

}


/* =========================
   SECTION SPACING
========================= */

.section-padding {

    padding: 100px 0;

}

.hero-content {
    background: url('img/hero-bg6.png') no-repeat center center;
    background-size: cover;
    padding:40px 35px;
    border-radius: 6px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.10);
}


/* =========================
JOBS SECTION
============================ 
*/
.jobs-search-section .jobs-search-box {
    background: url('img/jobs-section.png') no-repeat right center;
    background-size:auto 100%;
    padding: 3rem 0;
}

.jobs-filter-box, .jobs-results-box {
    background: #fff;
    border-radius: 6px;
    padding: 20px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.10);
}


.jobs-type-tabs .nav-tabs {
    border-bottom: none;
    margin-bottom: 20px;
}
.jobs-type-tabs .nav-tabs .nav-link.active, .jobs-type-tabs .nav-tabs .nav-link:hover {
    color: var(--secondary-color);
    border-bottom: 2px solid var(--secondary-color);
}
.jobs-type-tabs .nav-link {
    color: var(--text-muted);
    font-weight: 500;
    text-transform: capitalize;
    padding: 5px 20px 10px;
    transition: .3s;
    border-radius: 0;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 2px solid transparent;
}

.jobs-filter-section {
    margin-bottom: 3rem;
}

/*=====================================
Get Jobs Alert
======================================*/

.jobs-alert{

    background:#FFF;

    border:1px solid #E9EEF5;

    border-radius:20px;

    padding:30px;

    text-align:center;

    box-shadow:0 10px 30px rgba(15,23,42,.04);

}

.jobs-alert-icon{

    width:72px;

    height:72px;

    margin:0 auto 22px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,#0A66C2,#4F9EF7);

    color:#FFF;

    font-size:28px;

    box-shadow:0 12px 25px rgba(10,102,194,.18);

}

.jobs-alert-title{
    margin-bottom:0;
    margin-left:8px;
}



/*=========================
LIST
==========================*/

.jobs-list{

    display:flex;

    flex-direction:column;

}

/*=========================
CARD
==========================*/

.jobs-card{

    background:#fff;

    border-top:1px solid #E5E7EB;

    padding:24px;

}

.jobs-card:hover{

}

.jobs-list .jobs-card:last-child {
    border-bottom:1px solid #E5E7EB;
}

/*=========================
LOGO
==========================*/

.jobs-company-logo{

    overflow:hidden;

    align-items:center;

    background:#fff;

}

.jobs-company-logo img{

    width:100%;

    height:100%;

    object-fit:cover;

}

/*=========================
CONTENT
==========================*/

.jobs-card-header{
    display:flex;
    align-items:center;
    gap:10px;
}

.jobs-card-header h5{
    margin-bottom:2px;
}

.jobs-company{
    margin-bottom:6px;
}

.jobs-company-verified{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:18px;

    height:18px;

    font-size:15px;

    color:#0c8808b0;

}

.jobs-meta{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    color:var(--text-muted);

    font-size:14px;

    margin-bottom:15px;

}

.jobs-meta span{

    display:flex;

    align-items:center;

    gap:6px;

}

.jobs-card-content p{

    margin:0;

    color:#6B7280;

    line-height:1.7;

}

.jobs-type-fulltime{

    background:#DCFCE7;
    color:#15803D;
    border-color:#86EFAC;

}

/* Part Time */

.jobs-type-parttime{

    background:#FEF3C7;
    color:#B45309;
    border-color:#FCD34D;

}

/* Contract */

.jobs-type-contract{

    background:#DBEAFE;
    color:#1D4ED8;
    border-color:#93C5FD;

}

/* Internship */

.jobs-type-internship{

    background:#F3E8FF;
    color:#7E22CE;
    border-color:#D8B4FE;

}

/*=========================
BADGE
==========================*/

.jobs-badge-featured{

    background:#FFF7E6;

    color:#D97706;

    padding:5px 10px;

    border-radius:30px;

    font-size:12px;

    font-weight:600;

}

.jobs-badge-new{

    background:#EAF4FF;

    color:#0A66C2;

    padding:5px 10px;

    border-radius:30px;

    font-size:12px;

    font-weight:600;

}

/*=========================
RIGHT
==========================*/

.jobs-card-right{

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    align-items:flex-end;

    height:100%;

}

.jobs-posted{

    color:#94A3B8;

    font-size:14px;

}

.jobs-actions{

    display:flex;

    gap:10px;

}

/*======================================
Pagination
======================================*/

.jobs-pagination-wrapper{

    margin-top:50px;

    display:flex;

    justify-content:center;

}

.jobs-pagination{

    display:flex;

    align-items:center;

    gap:10px;

    list-style:none;

    padding:0;

    margin:0;

}

.jobs-pagination li{

    display:flex;

}

.jobs-page-link{

    width: 38px;

    height:38px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:6px;

    border:1px solid #E5E7EB;

    background:#FFF;

    color:#475569;

    text-decoration:none;
    transition: all 0.3s ease;

}

.jobs-page-link:hover{

    background:var(--primary-color);

    border-color:var(--primary-color);

    color:#FFF;

    box-shadow:0 10px 25px rgba(10,102,194,.18);

}

.jobs-page-link.active{

    background:var(--primary-color);

    border-color:var(--primary-color);

    color:#FFF;

    box-shadow:0 10px 25px rgba(10,102,194,.18);

}

.jobs-page-dots{

    width:46px;

    height:46px;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#94A3B8;

    font-weight:700;

}

/*=====================================
Get Jobs Alert
======================================*/

.jobs-alert{

    background:var(--white);

    border:1px solid #E9EEF5;

    border-radius:6px;

    padding:20px;

    box-shadow:0 10px 30px rgba(15,23,42,.04);
    margin-top:15px;

}

.jobs-alert-icon{

    width:42px;

    height:42px;

    margin:0;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,#0A66C2,#4F9EF7);

    color:#FFF;

    font-size:20px;

    box-shadow:0 12px 25px rgba(10,102,194,.18);

}

.jobs-alert-description{
    font-size:15px;

    line-height:1.8;

    margin-top:15px;
    margin-bottom:0;

}

.jobs-alert-input{

    border-radius:6px;

    border:1px solid #DCE5F0;

    padding:0 18px;

}

.jobs-alert-input:focus{

    border-color:var(--secondary-color);

    box-shadow:none;

}

.jobs-alert-button{

    width:100%;

    border:none;

    border-radius:6px;

    background:var(--primary-color);

    color:var(--white);

    font-weight:600;

    transition:.25s;

}

.jobs-alert-button:hover{

    background:var(--primary-color);

    color:var(--white);

}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991px) {

    .hero-title {

        font-size: 2.8rem;

    }

    .hero-categories {

        position: relative;

        width: 100%;

        left: 0;

        margin-top: 30px;

    }

    .hero-right-wrapper {

        padding-bottom: 0;

    }

    h1 {
        font-size: 2.5rem;
    }

    .auth-left {

        display: none;

    }

    .newsletter-simple {

        padding: 30px;

        text-align: center;

    }

    .jobs-card-right{

        align-items:flex-start;

        margin-top:20px;

        gap:15px;

    }

}

@media (max-width: 576px) {

    .hero-title {

        font-size: 2.2rem;

    }

    .btn {

        width: 100%;

    }

    .jobs-pagination{

        gap:6px;

    }

    .jobs-page-link{

        width:38px;

        height:38px;

        border-radius:6px;

        font-size:14px;

    }

}