
/* General Styles */
html {
    min-height: 100%;
    background-attachment: fixed;
}

body {
    font-family: "Roboto Slab", Arial, Helvetica, sans-serif !important;
    color: #333333 !important;
    user-select: none;
    overflow-x: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    transition: background-color 0.5s, color 0.5s;
}

/* Job Posting Styles */
#jobboard-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 0 auto;
}

.job-posting {
    /* height: auto; /* Auto height for flexibility */
    /* display: block; /* Ensure it's always visible */
    /* position: relative;
    border-radius: 5px;
    margin: 12px 0 20px 0;
    background-color: rgba(240, 240, 240, 1);
    color: black; */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto; /* Ensure it auto adjusts */
}

.job-posting .job-title {
    font-size: 1.2em;
    font-weight: bold;
    margin: 6px 0px 7px 10px;
    left: 8px;
    top: 3px;
    width: 100%; /* Set to full width on small screens */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Job description visibility fix for small screens */
.job-description-full {
    display: block !important; 
    overflow: hidden;
    height: auto; 
}

/* End Job Posting Styles */

/* Reset filters */
.reset-filters-job-posting {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    border: 1px solid #e1e1e1;
    margin-bottom: 20px;
    background-color: #f9f9f9;
    width: 100%; /* Adjust width for mobile */
}

.reset-filters-container-details {
    text-align: center;
}

.reset-filters-container {
    margin-top: 20px;
}

.reset-filters-btn {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 5px;
}

.reset-filters-btn:hover {
    background-color: #0056b3;
}
/* End reset filters */

/* Media Queries for Mobile under 600px */
@media (max-width: 600px) {
    .job-posting {
        width: 100%; /* Full width for mobile */
        height: auto;
    }
    .job-description-full {
        display: none; 
    }
    .tags {
        position: relative;
        bottom: 0;
        left: 0;
    }
    #search {
        width: 100%;
    }
    .container {
        width: 100% !important; /* Ensure container adapts to screen */
        max-width: 100%;
    }
    /* Give this, "col-xs-12 title" auto margin and width of 90% */
    .mobile-spacing {
        margin: auto;
        width: 90%;
    }
    .job-title {
        font-size: 1.5em; /* Larger title font for mobile */
    }
    #published_description {
        padding: 10px !important;
    }
    .header-banner__logo {
        height: 70px;
        
        padding-right: 8px;
      }

}

/* Media Queries for larger screens */
@media (min-width: 1024px) {
    .job-posting {
        height: auto;
        display: flex;
        flex-direction: row;
    }
}
@media (max-width: 1024px) and (min-width: 600px) {
    .job-description-full {
        right:0;
    }
    .row {
        margin-right: 0;
        margin-left: 0;
    }
}

/* End Media Queries */

/* Optimized and cleaned main.css based on original */
html {
    min-height: 100%;
    background-attachment: fixed;
}

body {
    font-family: "Roboto Slab", Arial, Helvetica, sans-serif !important;
    color: #333333 !important;
    user-select: none;
    overflow-x: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    transition: background-color 0.5s, color 0.5s;
}

/* Simplified .job-posting styles */
.job-posting {
    height: 260px;
    display: flex;
    position: relative;
    border-radius: 5px;
    margin: 12px 0 20px 0;
    background-color: rgba(240, 240, 240, 1);
    color: black;
}

/* Slightly increase job posting dimensions on hover */
.job-posting:hover {
    cursor: pointer;
    transform: scale(1.02);
    /* transition: all 0.2s ease-in-out; */
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}

/* Cleaned and optimized gradient overlays */
.job-posting:nth-child(even):hover .truncated-description-wrapper::before {
    background: linear-gradient(to top, rgba(163, 163, 163, 1), rgba(163, 163, 163, 0));
}
.job-posting:nth-child(odd):hover .truncated-description-wrapper::before {
    background: linear-gradient(to top, rgba(209, 209, 209, 1), rgba(209, 209, 209, 0));
}

.truncated-description-wrapper-no-gradient::before {
    background: none !important;
}

/* General cleanup for .tags and hover states */
.tags-container {
    display: flex;
    align-items: center;
    /* justify-content: center; */
    /* margin-top: 10px; */
}

.tags {
    display: inline-block;
    padding: 0.2em 0.6em 0.3em;
    margin: 0 0.2em 0.2em 0;
    border-radius: 0.2em;
    font-size: 75%;
    background-color: #eaeaea;
    box-shadow: 1px 1px 0 rgba(0,0,0,0.2);
    position: absolute;
    bottom: 7px;
    left: 17px;
    transition: all 0.2s ease-in-out;
    max-width: 180px;
}
.tags:hover {
    background-color: #fefefe;
    transform: scale(1.15);
}

.tag-mobile {
    display: flex;
    align-items: center;
}

.tags-remote_onsite {
    left: 93%;
}

/* Mobile Optimizations */
/* Ensuring mobile-friendly layout and responsive adjustments */
@media (max-width: 600px) {
    .job-posting {
        height: auto;
        display: block;
    }
    .tags {
        position: relative;
        bottom: 0;
        left: 0;
    }
    #search {
        width: 90%;
    }
}

/* Optimized the rest of the document with relevant styles */
html {
    min-height: 100%;
    background-attachment: fixed;
}

body {
    font-family: "Roboto Slab", Arial, Helvetica, sans-serif !important;
    color: #333333 !important;
    user-select: none;
    overflow-x: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    transition: background-color 0.5s, color 0.5s;
}

/* Add gradient overlay on top of the text */
.truncated-description-wrapper {
    position: relative;
}

.truncated-description {
    position: relative;
}

/* Gradient overlay for even job postings */
.job-posting:nth-child(even) .truncated-description-wrapper::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px; /* Adjust height as needed */
    background: linear-gradient(to top, rgba(180, 180, 180, 1), rgba(180, 180, 180, 0)); /* Match the background color */
    z-index: 2;
    pointer-events: none; /* Ensure the gradient does not interfere with interactions */
}

/* Gradient overlay for odd job postings */
.job-posting:nth-child(odd) .truncated-description-wrapper::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px; /* Adjust height as needed */
    background: linear-gradient(to top, rgba(249, 249, 249, 1), rgba(249, 249, 249, 0)); /* Match the background color */
    z-index: 2;
    pointer-events: none; /* Ensure the gradient does not interfere with interactions */
}

/* Gradient overlay for even job postings on hover */
.job-posting:nth-child(even):hover .truncated-description-wrapper::before {
    background: linear-gradient(to top, rgba(163, 163, 163, 1), rgba(163, 163, 163, 0)); /* Match the hover background color */
}

/* Gradient overlay for odd job postings on hover */
.job-posting:nth-child(odd):hover .truncated-description-wrapper::before {
    background: linear-gradient(to top, rgba(209, 209, 209, 1), rgba(209, 209, 209, 0)); /* Match the hover background color */
}

/* Remove gradient for screen sizes 600px and under */
@media (max-width: 600px) {
    .job-posting .truncated-description-wrapper::before {
        display: none;
    }
}

/* Remove white box on hover */
.truncated-description:hover {
    background: none;
}

/* create tags with rounded corners, shadow, and border. Change color on hover. */
.tags {
    display: inline-block;
    padding: 0.2em 0.6em 0.3em;
    margin: 0 0.2em 0.2em 0;
    border-radius: 0.2em;
    box-sizing: border-box;
    font-size: 75%;
    font-weight: 300;
    background-color: #eaeaea;
    box-shadow: 1px 1px 0 rgba(0,0,0,0.2), 0 1px 0 rgba(0,0,0,0.2), 0 0px 0 rgba(0,0,0,0.2), 0 1px 0 rgba(0,0,0,0.2);
    right: 62px;
    width: max-content;
    position: absolute;
    bottom: 7px;
    transition: all 0.2s ease-in-out;
    z-index: 4;
}
.tags > a {
    
    text-decoration: none;
    padding:10px;
}
.tags:hover {
    /* adjust color to stand out more */
    background-color: #fefefe;
    /* no underline */
    text-decoration: none;
    /* slightly increase size */
    transform: scale(1.15);
    transition: all 0.2s ease-in-out;

}

.tags > a:hover,
.tags > a:after:hover {
    color: #333333;
}

.tags > a:after {
    content: " x";
    cursor: pointer;
}

.set-height {
    height: 260px;
}

.container-header,
.container-jobs {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 5px;
    position: relative;
}

.container-header {
    border: 1px solid;
    margin-bottom: 0;
}

.container-jobs {
    min-height: 190px;
    padding: 10px;
    margin-bottom: 0;
}

.container-jobs:hover {
    cursor: pointer;
    transform: scale(1.01);
    transition: all 0.2s ease-in-out;
}

/* .container 90% width for mobile */
@media (max-width: 600px) {
    .container-header,
    .container-jobs {
        width: 90%;
    }
}

/* Hide the read-more button by default */
.read-more-container {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 150px;
    margin: 0 auto;
}

/* Show the read-more button when .job-posting is hovered */
.job-posting:hover .read-more-container {
    display: block;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.dynamic-colors-header-logo {
    font-size: x-large;
    position: sticky;
    margin-left: 275px;
}

#button-container {
    text-align: center;
    position: sticky;
    bottom: 10px;
}

.job-posting {
    height: 260px;
    display: flex;
    position: relative;
    border-radius: 5px;
    margin: 12px 0 20px 0;
    background-color: rgba(240, 240, 240, 1);
    color: black;
}

.job-posting .job-title {
    font-size: 1.2em;
    font-weight: bold;
    /* position: absolute; */
    margin: 6px 0px 7px 10px;
    left: 8px;
    top: 3px;
    width: 215px; /* Ensure this width works with your design */
    z-index: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.job-title-wrapper {
    /* width: 280px;  */
    display: none; /*  inline-block; */
    /* vertical-align: top;
    transition: all 0.3s ease; */
}

.container-details {
    display: flex;
    flex-direction: column;
    width: 30%;
}

.container-desc {
    display: flex;
    justify-content: center; /* Center the content within the container */
    width: 70%;
    margin: 0 auto; /* Center the container */
    position: relative;
}

.job-posting .date-created {
    position: absolute;
    bottom: 5px;
    left: 980px;
    width: -webkit-fill-available;
    padding-bottom: 2px;
}

.id-tags {
    position: absolute;
    top: 10px; 
    right: 10px; 
    /* background-color: rgba(255, 255, 255, 0.8); Optional: to make it more readable */
    padding: 5px; 
    border-radius: 5px; 
    font-size: 12px; 
}

@media (max-width: 990px) {
    .job-posting .date-created {
        left: 73%;
    }
}

@media (max-width: 700px) {
    .job-posting .date-created {
        left: 62%;
    }
}

@media (min-width: 700px) and (max-width: 1200px) {
    .job-posting .date-created {
        left: 80%;
    }
}

@media (max-width: 600px) {
	.job-posting .date-created {
		display: none;
	}

	.job-posting .job-salary {
		display: flex;
		width: 250px !important;
		position: absolute;
		top: 50px;
		left: -8px;
	}
	.job-posting {
		/* margin: 0 auto; */
		height: 94px;
		display: flex;
		position: relative;
		border-radius: 5px;
	}
	.job-posting .job-title {
		font-size: 1.2em;
		font-weight: bold;
		z-index: 1;
		position: absolute;
		left: 0;
		top: 0;
		max-width: 231px;
		max-height: 24px;
	}
	.job-description-full {
		display:none;
		/* right: 0;
		top: 34px;
		overflow: hidden;
		height: 209px;
		width: fit-content;
		position: relative; */
	}
    
	.industry-tags1 {
		display: none;
	}
	.tag-mobile {
		position: absolute;
		right: 66px;
		top: 36px;
	}
	.id-tags {
		display:none;
	}	
	
	.container-details {
		display: block;
		width: 100%;
		position: absolute;
	}
	.job-posting .location-container {
		position: absolute;
		top: 84px;
		margin-left: -34px !important;
		width: fit-content;
		z-index: 2;
	}
	.material-icons {
		top: -8px !important;
		left: 33px !important;
	}
	.header-banner__title {
		/* margin-left: auto; */
		padding: 0;
		font-size: 1.5em;
		text-align: center;
		margin-top: -10px;
		/* Make text centered */
		position: absolute;
		margin: 0;
		left: 0;
		top: 77px;
		width: 100%;

	}
	.banner_title-container {
		position: absolute;
		text-align: center;
		width: -webkit-fill-available;
		display: block;
		/* right: unset !important; */
		margin-right: 64px;
		top: -37px !important;
		left: -59px !important;
	}
    .header-banner__logo {
        height: 70px;
     
        padding-right: 8px;
      }

	.dynamic-colors-header-logo {
		font-size: 0.9em;
	}
	a.jobs_locations {
		margin: 0px;
		position: relative;
		left: 48px;
        bottom: 34px;
	}
	.tags {
		position: relative;
		top: 26px;
		left: 62px;
	}
}
/* between 600 and 990 */
@media (min-width: 600px) and (max-width: 990px) {
	.job-description-full {
        right:0;
    }

}
  .full-description {
	height: auto;
	overflow: hidden;
  }
.job-description-full {
	/* right: 97px; */
    top: 10px;
    overflow: hidden;
    height: fit-content;
    width: fit-content;
    position: relative;
    margin: 0 auto; /* Center the job description */
    right: 15%;

}

/* job-description-full for mobile and smaller screens */
@media (max-width: 1270px) {
	.job-description-full {
		/* right: 21%; */
		/* top: 6px; */
		overflow: hidden;
		height: fit-content;
		width: fit-content;
		position: relative;
	}
}
/* job-description-full for <= 600px */
@media (max-width: 600px) {
    .job-description-full {
        right: -3%;
    }
    .col-xs-12 {
        width: 100%;
    }
    /* .row {
        margin-right: 0;
        margin-left: 5px;
        width: 98%;
    } */
}
.secondary {
	left:24px;
}

.row {
    margin-right: 0;
    margin-left: 0;
    display: flow-root
}
/* Make .job-description-full area have a larger clickable area */

.job-description-full:hover .button {
	display: inline-block;
	padding: 7px;
	background: #007bff;
	color: #fff;
	border-radius: 5px;
	text-decoration: none;
}
.job-description-full a.dynamic-colors:hover {
    color: black;
    text-shadow: 1px 1px 2px rgb(175, 175, 175); 
    /* no underline */
    text-decoration: none;
}

/* Optional: Ensure the text color is black by default */
.job-description-full a.dynamic-colors {
    color: black;
}

/* Style for the Apply button container */
.apply-btn {
    margin-right: 22px;
    margin-top: 36px; /* Add margin to the top to move it down from the top of the job posting */
    transition: top 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
    height: auto; 
    max-height: 50px; 
    overflow: hidden; 
    position: relative; 
    padding: 10px 20px;
    border: none;
    border-radius: 10px; /* Less rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for floating effect */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
}


/* Style for the Apply button container */
.apply-button-container {
    position: relative; 
    display: flex;
    justify-content: flex-end;
    z-index: 10; /* Ensure it stays above other content */
}

.apply-button {
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.read-more {
    position: relative;
    bottom: 48%;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 2;
}

@media (max-width: 990px) {
    .read-more {
        display: none;
    }
}

h1 {
    font-size: 24px;
}

.job-description-full:hover {
    transform: scale(1.01);
}

.job-posting .job-description {
    font-size: 1em;
}

.job-posting .job-description .job-description-title {
    font-weight: bold;
}

.job-posting .job-description .job-description-content {
    margin-left: 10px;
}

.job-posting .job-salary {
    width: auto;
    margin: 4px 0 0 19px;
}

.job-posting .job-arrow {
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-right: 7px solid #eaeaea;
    position: absolute;
    right: 183px;
    top: 3px;
}

.job-posting .job-arrow-right {
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid #eaeaea;
    position: absolute;
    right: 14px;
    top: 3px;
}

#collapse-filters {
    width: 4%;
    margin-left: 96%;
    margin-top: -1.6%;
}

.container-search_filter {
    position: relative;
    width: 100%;
    padding-bottom: 30px;
}

#search {
    width: 94%;
    position: absolute;
    z-index: 1;
}

.filter-span {
    position: absolute;
    top: 18px;
    width: 50px;
}

.container-filters {
    position: relative;
    width: 96%;
    padding-top: 20px;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    overflow: hidden;
    left:-1%;
}

#published_description {
    overflow-y: auto;
    padding: 25px;
}

#jobDetailsIframe {
    width: 100%;
    height: 100%; 
    
    border: none; 
    
}
.job-container-details {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.container-jobDetails {
    flex: 0 0 21%; 
    
    margin-left: 76%;
}

@media (max-width: 1200px) {
    .container-jobDetails {
        flex: 0 0 25%;
        margin-left: 76%;
    }
}

@media (max-width: 768px) {
    .container-jobDetails {
        display: none; /* Hide the details div for small screens */
    }
}

.job-details {
    margin-bottom: 20px;
    padding: 1px;
    border: 2px solid #eaeaea;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, 1);
    padding: 10px;
    height: fit-content;
    position: relative; /* Default position */
    transition: all 0.5s ease-in-out;
    overflow-y: scroll; /* Ensure overflow is set to auto */
    /* Add Drop shadow */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    /* Add a subtle shadow */
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

@media (min-width: 990px) {
    .job-details {
        top: 79px;
    }
}

@media (max-width: 768px) {
    .job-details {
        max-height: none; /* Remove max-height constraint */
        overflow-y: visible; /* Allow content to expand */
    }
}

.fixed-job-details {
    position: fixed;
    top: 8em; /* Initial top value */
    width: 21%;
    overflow-y: auto;
    max-height: -webkit-fill-available;
}


@media (min-width: 600px) and (max-width: 1024px) {
    .col-md-8 {
        -ms-flex: 0 0 98%;
        flex: 0 0 98%;
        max-width: 78%;
    }
    /* .container {
        max-width: 94%;
    } */
    .job-description-full
    {
        right: 0;
        top: -10%;
    }
    #signup-btn {
        white-space: normal; /* Allow text to wrap normally */
    }
}
/* Base styles for login and signup buttons */
#login-btn, #signup-btn {
    margin-left: 0;
    padding: 10px 20px; /* Adjust padding for better touch targets */
    font-size: 16px; /* Adjust font size for readability */
    border-radius: 5px; /* Add rounded corners for a modern look */
    width: 100%; /* Make buttons full width on mobile */
    max-width: 200px; /* Set a max width for larger screens */
    box-sizing: border-box; /* Ensure padding and border are included in the width */
    white-space: nowrap; /* Prevent text from wrapping */
}

/* Container for buttons to ensure proper alignment */
.login-signup-button-container {
    display: flex;
    justify-content: space-between;
    /* gap: 10px; 
    flex-wrap: wrap;  */
}
@media (max-width: 600px) {
    .col-md-8 {
        -ms-flex: 0 0 98%;
        flex: 0 0 98%;
        max-width: 100%;
    }
    .container {
        /* max-width: fit-content; */
        margin: auto;
    }
    .row {
        margin: 0 !important; /* Completely remove all margins */
        width: 100%;
    }
    #login-btn, #signup-btn {
        font-size: 14px; /* Adjust font size for smaller screens */
        padding: 8px 16px; /* Adjust padding for smaller screens */
        max-width: 100%; /* Ensure buttons take full width on small screens */
    }
    .job-posting:nth-child(even) {
        background-color: #b4b4b4;
        position: relative;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add a subtle shadow */
        transition: box-shadow 0.3s ease, transform 0.3s ease; /* Smooth transition for the shadow and transform */
        margin-bottom: 1%;
    }
    
    .job-posting:nth-child(odd) {
        background-color: #f9f9f9;
        position: relative;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add a subtle shadow */
        transition: box-shadow 0.3s ease, transform 0.3s ease; /* Smooth transition for the shadow and transform */
        margin-bottom: 1%;
    }
    
    #collapse-filters {
        margin-top: -4.6%;
    }

}

@media (min-width: 1024px) {
    .col-md-8 {
        -ms-flex: 0 0 98%;
        flex: 0 0 98%;
        max-width: 100%;
    }
}
/* Responsive styles for larger screens */

.location-container {
	/* position: absolute; */
	margin: -18px 0px 0px -3px;
}

.jobs_locations {
    margin: 0 0 0 21px;
}

.material-icons{
	position: relative;
    top: 26px;
    left: 6px;
    font-size: 1.5em;
    color: rgba(0, 0, 0, 0.5);
    padding: 5px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.button_container {
    display: flex;
    justify-content: center;
    margin: 20px 0 38px 0;
}

.prev,
.next {
    border: none;
    border-radius: 5px;
    cursor: pointer;
    padding: 10px 15px;
}

.prev:focus,
.next:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, .5);
}

.prev {
    margin-right: 10px;
}

.next {
    margin-left: 10px;
}

/* Modal styles */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4);
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
}
.form-group {
    margin-bottom: 15px;
}

label {
    display: block;
    font-weight: bold;
}

input,
select {
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

button[type="submit"] {
    width: 100%;
    padding: 10px;
    background: #007bff;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

button[type="submit"]:hover {
    background: #0062cc;
}

.header-banner__title {
    margin-left: auto;
    padding: 32px 16px 0 0;
    font-size: 1.5em;
}

.header-banner__title a {
    color: #333;
    text-decoration: none;
}

.append_description {
    margin-top: 20px;
    background-color: rgba(255, 255, 255, 1);
    position: relative;
    /* Add drop shadow */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
}

@media (max-width: 990px) {
    .append_description {
        margin-top: 0;
    }
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.5);
}

.modal-content {
    background: #fff;
    padding: 20px;
    border-radius: 5px;
    width: 80%;
    max-width: 90vw; /* Ensure it doesn't exceed viewport width */
    /* height: 80vh; Set height to 80% of viewport height */
    max-height: 90vh; /* Ensure it doesn't exceed viewport height */
    overflow-y: auto; /* Add scroll if content exceeds height */
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    padding: 1rem;
    border-top: 1px solid #e9ecef;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

button {
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
}

.current-page {
    font-size: large;
    color: white;
    margin-top: 5px;
}

.details-spacing {
    padding: 0 0 8px 0;
}

.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
}

input:checked + .slider {
    background-color: #3b8d17;
}

input:checked + .slider:before {
    transform: translateX(26px);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

.background-gradient-bottom {
    background: linear-gradient(to bottom, rgb(var(--r), var(--g), var(--b)), rgb(var(--r-var), var(--g-var), var(--b-var)));
}

.background-gradient-bottom-right {
    background: linear-gradient(to bottom right, rgb(var(--r-var), var(--g-var), var(--b-var)), rgb(var(--r), var(--g), var(--b)));
}

.set-background-color {
    background-color: rgb(var(--r), var(--g), var(--b));
}

.footer-container {
    display: flex;
    justify-content: center; 
    align-items: flex-end; 
    /* min-height: 45vh; */
    width: 100%; 
}

.footer {
    /* background-color: #f8f9fa;  */
    padding: 10px 0; 
    text-align: center; 
    /* width: 100%; */
    /* max-height: 45vh; */
    
}
.footer img {
    display: block;
    margin: 0 auto;
}

.ql-align-center {
    text-align: center;
}

.ql-size-large {
    font-size: 1.2em;
}

.ql-align-justify {
    text-align: justify;
}

a {
    transition: color 0.5s;
    color: inherit;
}

/* Header for login/user profile */
.header-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    width: -moz-available;
    /* background-color: #fff;
    border-bottom: 1px solid #e1e1e1; */
}
@media (min-width: 601px) {
    .header-banner__logo {
        height: 90px;
    }
}

.header-actions {
    display: flex;
    align-items: center;
    margin-left: auto; /* Pushes the actions to the right */
    width: 90%; /* Ensure the header-actions takes up the full width */
    justify-content: flex-end; /* Align items to the right */
    position: relative; /* Ensure the dropdown is positioned relative to its container */
}

.btn-modern {
    display: inline-block;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 5px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s, transform 0.2s, box-shadow 0.2s;
    cursor: pointer;
    margin-left: 10px;
}

.btn-modern:hover {
    background-color: #bdbdbd;
    transform: translateY(-2px);
    box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.15);
}

.btn-modern:active {
    transform: translateY(0px);
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}
.dropdown-menu {
    min-width: 200px;
    right: 0; /* Ensure the menu is aligned to the right */
    left: auto; /* Override any left positioning */
}

.dropdown-item {
    padding: 10px 20px;
    font-size: 14px;
}

.dropdown {
    position: relative; /* Ensure the dropdown is positioned relative to its container */
}

.banner_title-container {
    flex-grow: 1;
    text-align: center;
}

.header-banner__title {
    margin: 0;
    font-size: 1.5em;
    color: #333;
}

.header-banner__title a {
    color: inherit;
    text-decoration: none;
}

/* .header-actions {
    display: flex;
    align-items: center;
} */

.header-actions .btn {
    margin-left: 10px;
}

.user-portal {
    display: flex;
    align-items: center;
}



.modal-dialog {
    /* This ensures the modal is centered vertically and horizontally */
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100% - (.5rem * 2));
}

.modal {
    /* This ensures the modal and its backdrop are on top of other content */
    z-index: 1050; 
}

.modal-backdrop {
    /* This ensures the backdrop covers the whole page */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.5); /* Semi-transparent black */
}

/* Additional styles for better visibility and aesthetics */
.modal-content {
    background-color: #fff; 
    border-radius: .3rem; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(0,0,0,.1); /* Soft shadow for depth */
    width:420px;
}

/* Ensure the modal content is scrollable if the content exceeds the viewport height */
.modal-body {
    max-height: calc(100vh - 210px);
    overflow-y: auto;
}
label[for="mailing_list"] {
    display: inline-block;
    margin-right: 10px; 
}

#mailing_list {
    vertical-align: middle;
    max-width: fit-content;
}

.position-relative {
    position: relative;
}
.position-absolute {
    position: absolute;
}
.top-0 {
    top: 0;
}
.end-0 {
    right: 0;
}
.remove-license {
    background: none;
    border: none;
    color: red;
    font-size: 1.5rem;
    cursor: pointer;
}
.remove-license:hover {
    color: darkred;
}
.remove-license[title]:hover::after {
    content: attr(title);
    position: absolute;
    top: -20px;
    right: 0;
    background: #333;
    color: #fff;
    padding: 5px;
    border-radius: 3px;
    font-size: 0.8rem;
    white-space: nowrap;
}

.badge-container {
    position: relative;
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
}

.badge-primary {
    position: relative;
    padding: 10px 20px;
    border-radius: 4px;
    /* background-color: #007bff; */
    color: white;
    cursor: pointer;
    user-select: none;
    transition: all .3s;
}

/* .badge-primary:hover {
    background-color: #0056b3;
} */

.remove-preference {
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    background: red;
    color: white;
    border: 2px solid white;
    top: -10px;
    right: -10px;
    transition: all .3s;
    display: none; /* Initially hidden */
}
.job-description-short, .job-description-full {
    overflow: hidden;
}
.badge-container:hover .remove-preference {
    display: flex; /* Show on hover */
}

.badge.badge-primary.btn-sm.ml-2 {
    bottom: 5px;
}

.document-container {
    position: relative;
    border: 1px solid #dee2e6;
    border-radius: 5px;
    padding: 10px;
    transition: box-shadow 0.3s ease;
}

.document-container:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.document-container .remove-document {
    display: none;
    position: absolute;
    /* right: 10px;
    top: 10px; */
}

.document-container:hover .remove-document {
    display: block;
}

.remove-document {
    z-index: 9999 !important;
    pointer-events: auto !important;
    right: 10px;
    top: 7px;
}

/* Enlarge hover area */
.document-container::after {
    content: '';
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: -10px;
    left: -10px;
    z-index: 1;
}

.document-preview {
    margin-top: 15px;
}

.toggle-arrow {
    cursor: pointer;
    font-size: 1.2em;
}

#userportal-btn {
    min-width: 56px !important; 
    width: 50px; 
    height: 50px; 
    padding: 0; 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}

#userportal-btn i {
    font-size: 24px;
}

#userportal-btn:hover {
    background-color: #727171;
}

/* Reset filters */
.reset-filters-job-posting {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    border: 1px solid #e1e1e1;
    margin-bottom: 20px;
    background-color: #f9f9f9;
    width: 69em;
    padding-bottom: 36px;
}

.reset-filters-container-details {
    text-align: center;
}

.reset-filters-container {
    margin-top: 20px;
}

.reset-filters-btn {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 5px;
}

.reset-filters-btn:hover {
    background-color: #0056b3;
}
/* End reset filtres */

/* Style to blur the background */
.blur-background {
    filter: blur(5px);
}

/* Style for the document upload section */
#document-list {
    margin-top: 15px;
}

#document-list label {
    font-weight: bold;
}

#document-list select {
    margin-bottom: 10px;
}

#resume-upload label {
    display: flex;
    align-items: center;
}

#resume-upload i {
    margin-left: 5px;
}

#resume-upload small {
    margin-top: 5px;
    display: block;
}

.text-center.my-2 {
    margin: 10px 0;
    font-weight: bold;
}