 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');


@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&family=Oswald&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Rowan&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;700&display=swap');





@font-face {
  font-family: "Rowan_regular";
  src: url("../fonts/Rowan-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

/* Apply Rowan font to headings + paragraphs */
 .font-rowan{
  font-family: "Rowan_regular", sans-serif;
}


.font-public {
  font-family: "Public Sans", sans-serif;
  /* font-weight: 400;  */
}



html {
	scroll-behavior: smooth;
	scroll-padding-top: 1rem;
}

:root {
    --primary-green: #0BA054;
     --primary: #0BA054;
    --primary-rgb: 11,160,84;

    --primary-dark: #07783F;
    --light-bg: #F3F8F5;
    --text-dark: #1C2D37;
    
}

* {
   font-family: "Rowan", sans-serif;
    /*  */
}

body{
    background-color: #FFFFFF;
}
         

.font-archivo {
  font-family: 'Rowan', sans-serif;
}

.underline {
  border-bottom: 4px solid transparent;
  background: linear-gradient(to right, green 20%, #ddd 20%);
  background-repeat: no-repeat;
  background-size: 100% 4px;
  background-position: bottom left;
}
.border-line {
  height: 4px; /* thickness */
  background: linear-gradient(to right, green 25%, #ddd 20%);
  border: none;
}

.border-line-two{
  height: 2px; /* thickness */
  background: linear-gradient(to right, green 5%, #ddd 5%);
  border: none;
}

.typing {
  font-family: monospace;
  font-size: 24px;
  white-space: nowrap;
  overflow: hidden;
  border-right: 3px solid black; /* cursor */
  width: 0ch;
  animation: typing 8s steps(14) infinite, /* typing + erasing */
              blink 0.7s step-end infinite alternate; /* cursor blink */
}

  /* typing effect */
  @keyframes typing {
    0% { width: 0ch; }
    40% { width: 14ch; }   /* full text (14 chars in "In progress...") */
    60% { width: 14ch; }   /* hold full text */
    100% { width: 0ch; }   /* erase */
  }

  /* cursor blink */
  @keyframes blink {
    50% { border-color: transparent; }
  }  




.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.slide-in-right {
    animation: slideInRight 0.6s ease-out;
}

@keyframes slideInRight {
    from { opacity: 0; transform: translateX(30px); }
    to { opacity: 1; transform: translateX(0); }
}

.gradient-text {
    background: linear-gradient(135deg, #059669, #10B981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hover-lift {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

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



/* Scrollbar for WebKit browsers */
.custom-scroll::-webkit-scrollbar {
  height: 4px; /* Horizontal scrollbar height */
}

.custom-scroll::-webkit-scrollbar-track {
  background: #e5e7eb; /* Tailwind gray-200 */
  border-radius: 4px;
}

.custom-scroll::-webkit-scrollbar-thumb {
  background: #e6e7e9; /* Tailwind blue-500 */
  border-radius: 4px;
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
  background: #e6e8ec; /* Tailwind blue-600 */
}

/* Firefox support */
.custom-scroll {
  scrollbar-width: thin;
  scrollbar-color: #bcbec0 #e5e7eb;
}


/* in your global CSS */
.no-scrollbar::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}
.no-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;     /* Firefox */
}

.left-column-content ul li {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 6px; /* optional spacing */
}

.custom-responsive {
  display: flex;
  flex-direction: column; /* default for mobile */
  gap: 10px;
}

@media (min-width: 728px) {
  .custom-responsive {
    flex-direction: row !important; /* becomes row on wider screens */
  }
}


/* Just in case you want fallback */
.arrow {
  display: inline-block;
  transition: transform 0.3s ease;
}
.arrow.rotate {
  transform: rotate(90deg);
}


.ellipsis_3 {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* number of lines to show */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}



.sjb-container-main {
    max-width: 1300px !important;
    width: 100%;
    margin: 0 auto;
/*     padding: 40px 20px; */
/*     background: linear-gradient(
        135deg,
        rgba(var(--primary-rgb), 0.12),
        rgba(var(--primary-rgb), 0.03)
    ); */
/*     border-radius: 12px; */
}

/* PAGE TITLE */
.sjb-container-main h2 .job-title,
    h1.entry-title{
    font-size: 3rem !important;
    font-weight: 300 !important;
     font-family: "Rowan_regular", sans-serif !important;
}

/* FILTER BOX */
.sjb-filters {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    margin-bottom: 25px;
}
.sjb-filters input {
    border-radius: 8px !important;
    border: 1px solid #d8d8d8;
}

.sjb-search-button .btn-search {
     background: var(--primary) !important;
    border-color: var(--primary) !important;
    border-radius: 8px;
    padding: 10px 18px;
    color: white;
}

.sjb-search-button .btn-search:hover{
	 background: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
}

/* JOB LIST CARD */
.sjb-listing .list-data {
    /* background: #fff; */
    /* padding: 22px; */
    border-radius: 12px;
    margin-bottom: 22px;
    /* box-shadow: 0 4px 16px rgba(0,0,0,0.06); */
    transition: transform .2s ease, box-shadow .3s ease;
}
.sjb-listing .list-data:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.10);
}

/* JOB TITLE */
.sjb-listing h4 a {
    color: var(--text-dark);
    font-size: 22px;
    font-weight: 600;
}
.sjb-listing h4 a:hover {
    color: var(--primary);
}

/* DATE STYLE */
.job-date i {
    color: var(--primary);
}

/* APPLY + READ MORE BUTTONS */
.sjb-apply-now-btn .btn-primary {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 14px;
    margin-right: 8px;
    color: white;
}
.sjb-apply-now-btn .btn-primary:hover {
    background: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
}

/* VIEW MORE / LESS */
.sjb_view_more_btn {
    color: var(--primary);
    cursor: pointer;
    font-size: 14px;
}
.sjb_view_more_btn:hover {
    text-decoration: underline;
}

/* COMPANY LOGO */
.company-logo img {
    border-radius: 8px;
}

/* MOBILE FIXES */
@media (max-width: 768px) {
    .sjb-filters {
        padding: 15px;
    }
    .sjb-container-main h2 .job-title {
        font-size: 24px;
    }
    .sjb-listing .list-data {
        padding: 15px;
    }
}
.post-thumbnail,
.entry-content .wp-audio-shortcode,
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
*[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
.default-max-width {
	max-width: 1300px !important;
	margin-left: auto;
	margin-right: auto;
}

.sjb-page .sjb-detail .list-data .v1 .jobpost-form .form-control {
    border: 1px solid gray;
    border-radius: 10px;
  }
.sjb-page .sjb-detail .list-data .v1 .jobpost-form .form-control:hover,
.sjb-page .sjb-detail .list-data .v1 .jobpost-form .form-control:active{
    border: 1px solid black;
    border-radius: 10px;
  }

.sjb-page .sjb-detail .list-data .v1 .jobpost-form .file{
   border: 1px solid gray !important;
}
.sjb-page .sjb-detail .list-data .v1 .jobpost-form .btn-app-modal-close{
	float: right;
     background: var(--primary) !important;
    border-color: var(--primary) !important;
    padding: 10px 18px !important;
    border-radius: 8px;
    font-size: 14px !important;
    margin-right: 8px !important;
    color: white;
	
}
.sjb-page .sjb-detail .list-data .v1 .jobpost-form .app-submit{
	float: right;
     background: var(--primary) !important;
    border-color: var(--primary) !important;
    padding: 10px 18px !important;
    border-radius: 8px;
    font-size: 14px !important;
    margin-left: 8px !important;
    color: white;
}

.sjb-page .sjb-detail .list-data .v1 .jobpost-form .app-submit:hover,
.sjb-page .sjb-detail .list-data .v1 .jobpost-form .btn-app-modal-close:hover{
    background: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
}



.sjb-page .sjb-detail .list-data .v1 .jobpost-form .file div{
 padding:2px 12px !important;
}

.entry-footer a {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    padding: 10px 18px !important;
    border-radius: 8px;
    font-size: 14px !important;
    margin-left: 8px !important;
    color: white !important;
}
.entry-footer a:hover{
	  background: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
}
#quick-apply-btn,
.d-none{
  display: none;
}
.job-date{
  font-family:"Public Sans", sans-serif;
}
.job-description p{
    font-family: font-public;
    font-weight: 400;
}