/* Base Settings */
/* Spacing Variables */
/* Theme Colors */
/* Modern Resume V2 Styles */
/* Base Styles */
body {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #1F2937;
  background-color: #F9FAFB;
  transition: all 0.3s ease;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
  margin: 0; }
  body.dark-mode {
    background-color: #0a101f;
    color: #ffffff;
    transition: background-color 0.3s ease, color 0.3s ease; }
  body.theme-default {
    color: #1F2937;
    background-color: #F9FAFB; }
  body.theme-red {
    color: #1F2937;
    background-color: #FEF2F2; }
  body.theme-pink {
    color: #1F2937;
    background-color: #FDF2F8; }
  body.theme-brown {
    color: #1F2937;
    background-color: #FFFBEB; }
  body.theme-blue {
    color: #1F2937;
    background-color: #EFF6FF; }
  body.theme-purple {
    color: #1F2937;
    background-color: #F5F3FF; }
  body.theme-teal {
    color: #1F2937;
    background-color: #F0FDFA; }
  body.theme-green {
    color: #1F2937;
    background-color: #ECFDF5; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 16px;
  color: #1F2937; }
  .dark-mode h1, .dark-mode h2, .dark-mode h3, .dark-mode h4, .dark-mode h5, .dark-mode h6 {
    color: #ffffff;
    font-weight: 400; }

h1 {
  font-size: 40px;
  font-weight: 700; }

h2 {
  font-size: 25px;
  margin-bottom: 24px;
  position: relative; }
  h2:after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background-color: #3B82F6;
    margin-top: 8px; }
    .theme-default h2:after {
      background-color: #3B82F6; }
    .theme-red h2:after {
      background-color: #EF4444; }
    .theme-pink h2:after {
      background-color: #EC4899; }
    .theme-brown h2:after {
      background-color: #92400E; }
    .theme-blue h2:after {
      background-color: #3B82F6; }
    .theme-purple h2:after {
      background-color: #8B5CF6; }
    .theme-teal h2:after {
      background-color: #14B8A6; }
    .theme-green h2:after {
      background-color: #10B981; }
    .dark-mode h2:after {
      background-color: #ffffff; }

p {
  margin-bottom: 24px; }

a {
  color: #3B82F6;
  text-decoration: none;
  transition: color 0.2s ease; }
  a:hover {
    color: #6ca1f8;
    text-decoration: none; }
  .theme-default a {
    color: #3B82F6; }
    .theme-default a:hover {
      color: #6ca1f8; }
  .theme-red a {
    color: #EF4444; }
    .theme-red a:hover {
      color: #f7a2a2; }
  .theme-pink a {
    color: #EC4899; }
    .theme-pink a:hover {
      color: #f6a4cd; }
  .theme-brown a {
    color: #92400E; }
    .theme-brown a:hover {
      color: #c15412; }
  .theme-blue a {
    color: #3B82F6; }
    .theme-blue a:hover {
      color: #6ca1f8; }
  .theme-purple a {
    color: #8B5CF6; }
    .theme-purple a:hover {
      color: #d0bdfb; }
  .theme-teal a {
    color: #14B8A6; }
    .theme-teal a:hover {
      color: #19e6d0; }
  .theme-green a {
    color: #10B981; }
    .theme-green a:hover {
      color: #14e8a2; }
  .dark-mode a {
    color: #60a5fa;
    font-weight: 500; }
    .dark-mode a:hover {
      color: #93c5fd;
      text-decoration: none; }

ul {
  padding-left: 24px;
  margin-bottom: 24px; }
  ul li {
    margin-bottom: 8px; }

.container {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0;
  padding-bottom: 0;
  overflow-x: visible; }
  @media (max-width: 768px) {
    .container {
      padding: 8px 8px;
      margin: 0;
      width: 100%;
      box-sizing: border-box; } }

/* Site Header */
.site-header {
  padding: 32px 0;
  background-color: #3B82F6;
  color: white;
  margin-bottom: 32px; }
  .dark-mode .site-header {
    background-color: #0f172a !important; }
  .theme-default .site-header {
    background-color: #3B82F6; }
  .theme-red .site-header {
    background-color: #EF4444; }
  .theme-pink .site-header {
    background-color: #EC4899; }
  .theme-brown .site-header {
    background-color: #92400E; }
  .theme-blue .site-header {
    background-color: #3B82F6; }
  .theme-purple .site-header {
    background-color: #8B5CF6; }
  .theme-teal .site-header {
    background-color: #14B8A6; }
  .theme-green .site-header {
    background-color: #10B981; }
  .dark-mode .site-header {
    background-color: #0f172a !important;
    border-bottom: 1px solid #1e293b;
    box-shadow: none; }

.header-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 768px) {
    .header-content {
      flex-direction: column;
      text-align: center; } }

.profile-info {
  display: block; }
  @media (max-width: 768px) {
    .profile-info {
      margin-bottom: 24px; } }

.profile-name h1 {
  margin-bottom: 8px;
  color: white; }
  .dark-mode .profile-name h1 {
    color: white;
    text-shadow: none; }
.profile-name p {
  margin-bottom: 0;
  font-size: 18px;
  opacity: 0.9; }

.contact-info {
  display: flex;
  flex-direction: column; }
  .contact-info a {
    color: white;
    margin-bottom: 8px;
    display: flex;
    align-items: center; }
    .contact-info a:hover {
      color: rgba(255, 255, 255, 0.8); }
    .contact-info a i {
      margin-right: 8px;
      width: 20px;
      text-align: center; }
    .dark-mode .contact-info a {
      color: white; }
      .dark-mode .contact-info a:hover {
        color: #93c5fd;
        text-decoration: none; }
  @media (max-width: 768px) {
    .contact-info {
      margin-top: 24px; } }

/* Section Styles */
.intro-section, .resume-section {
  margin-bottom: 48px; }
  .dark-mode .intro-section, .dark-mode .resume-section {
    background-color: #0a101f; }

/* Toggle Button Styles */
.toggle-button {
  background: none;
  border: none;
  color: #3B82F6;
  cursor: pointer;
  font-size: 1rem;
  margin-left: 8px;
  padding: 0;
  transition: transform 0.3s ease;
  vertical-align: middle; }
  .toggle-button.collapsed {
    transform: rotate(-90deg); }
  .theme-default .toggle-button {
    color: #3B82F6; }
  .theme-red .toggle-button {
    color: #EF4444; }
  .theme-pink .toggle-button {
    color: #EC4899; }
  .theme-brown .toggle-button {
    color: #92400E; }
  .theme-blue .toggle-button {
    color: #3B82F6; }
  .theme-purple .toggle-button {
    color: #8B5CF6; }
  .theme-teal .toggle-button {
    color: #14B8A6; }
  .theme-green .toggle-button {
    color: #10B981; }
  .dark-mode .toggle-button {
    color: #ffffff; }

/* Toggleable Section Styles */
.toggleable-section .resume-grid {
  transition: max-height 0.5s ease, opacity 0.5s ease, margin 0.5s ease;
  overflow: hidden;
  max-height: 2000px;
  /* Adjust based on your content */
  opacity: 1; }
.toggleable-section.collapsed .resume-grid {
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  margin-bottom: 0; }

.section-title {
  margin-bottom: 32px; }
  .section-title h2 {
    margin-bottom: 8px; }

.resume-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 32px;
  /* Add bottom margin to grid */
  width: 100%;
  box-sizing: border-box;
  overflow: visible; }
  @media (max-width: 768px) {
    .resume-grid {
      grid-template-columns: 1fr;
      margin-bottom: 0;
      padding: 0;
      width: 100%;
      gap: 0; } }

.resume-card {
  background-color: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 0; }
  .resume-card:hover {
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px); }
  @media (max-width: 768px) {
    .resume-card {
      min-height: auto;
      width: 100%;
      overflow-wrap: break-word;
      word-wrap: break-word;
      padding-bottom: 0;
      border-radius: 0;
      box-shadow: none;
      border-bottom: 1px solid #eee; }
      .resume-card:hover {
        transform: none;
        box-shadow: none; } }
  .theme-default .resume-card {
    background-color: #FFFFFF; }
  .theme-red .resume-card {
    background-color: #FFFFFF; }
  .theme-pink .resume-card {
    background-color: #FFFFFF; }
  .theme-brown .resume-card {
    background-color: #FFFFFF; }
  .theme-blue .resume-card {
    background-color: #FFFFFF; }
  .theme-purple .resume-card {
    background-color: #FFFFFF; }
  .theme-teal .resume-card {
    background-color: #FFFFFF; }
  .theme-green .resume-card {
    background-color: #FFFFFF; }
  .dark-mode .resume-card {
    border: 1px solid #1e293b;
    box-shadow: none; }
    .dark-mode .resume-card:hover {
      box-shadow: none;
      border-color: #1e40af;
      transform: translateY(-3px); }

.card-header {
  background-color: #3B82F6;
  color: white;
  padding: 8px 16px;
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.01em; }
  @media (max-width: 768px) {
    .card-header {
      padding: 8px 8px;
      font-size: 0.9rem; } }
  .theme-default .card-header {
    background-color: #3B82F6; }
  .theme-red .card-header {
    background-color: #EF4444; }
  .theme-pink .card-header {
    background-color: #EC4899; }
  .theme-brown .card-header {
    background-color: #92400E; }
  .theme-blue .card-header {
    background-color: #3B82F6; }
  .theme-purple .card-header {
    background-color: #8B5CF6; }
  .theme-teal .card-header {
    background-color: #14B8A6; }
  .theme-green .card-header {
    background-color: #10B981; }
  .dark-mode .card-header {
    background-color: #0f172a !important;
    color: #ffffff;
    border-bottom: 1px solid #1e293b; }

.card-body {
  padding: 24px;
  width: 100%;
  box-sizing: border-box;
  overflow: visible; }
  .card-body ul {
    margin-top: 0;
    padding-left: 1.5rem; }
    .card-body ul li {
      margin-bottom: 0.75rem;
      position: relative;
      word-wrap: break-word;
      overflow-wrap: break-word;
      hyphens: none;
      -webkit-hyphens: none;
      -ms-hyphens: none; }
      .card-body ul li:last-child {
        margin-bottom: 0; }
  .card-body .card-content {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: none;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    width: 100%;
    max-width: 100%;
    overflow: visible; }
    .card-body .card-content ul:first-child:last-child {
      margin-top: -0.5rem; }
      .card-body .card-content ul:first-child:last-child li {
        line-height: 1.4;
        padding-top: 0.25rem; }
        .card-body .card-content ul:first-child:last-child li:first-child {
          padding-top: 0; }
  @media (max-width: 768px) {
    .card-body {
      padding: 8px 8px; }
      .card-body a {
        word-wrap: break-word;
        overflow-wrap: break-word;
        display: inline-block;
        max-width: 100%; }
      .card-body .card-content {
        font-size: 0.95rem;
        line-height: 1.4; }
        .card-body .card-content p, .card-body .card-content li {
          margin-bottom: 0.25rem; } }

.card-subheading {
  font-weight: 500;
  color: #6B7280;
  margin-bottom: 8px; }
  .theme-default .card-subheading {
    color: #6B7280; }
  .theme-red .card-subheading {
    color: #6B7280; }
  .theme-pink .card-subheading {
    color: #6B7280; }
  .theme-brown .card-subheading {
    color: #6B7280; }
  .theme-blue .card-subheading {
    color: #6B7280; }
  .theme-purple .card-subheading {
    color: #6B7280; }
  .theme-teal .card-subheading {
    color: #6B7280; }
  .theme-green .card-subheading {
    color: #6B7280; }
  .dark-mode .card-subheading {
    color: #cbd5e1;
    font-weight: 400; }

.card-duration, .card-location {
  font-size: 14px;
  color: #6B7280;
  margin-bottom: 8px;
  display: flex;
  align-items: center; }
  .card-duration i, .card-location i {
    margin-right: 8px; }
  .theme-default .card-duration, .theme-default .card-location {
    color: #6B7280; }
  .theme-red .card-duration, .theme-red .card-location {
    color: #6B7280; }
  .theme-pink .card-duration, .theme-pink .card-location {
    color: #6B7280; }
  .theme-brown .card-duration, .theme-brown .card-location {
    color: #6B7280; }
  .theme-blue .card-duration, .theme-blue .card-location {
    color: #6B7280; }
  .theme-purple .card-duration, .theme-purple .card-location {
    color: #6B7280; }
  .theme-teal .card-duration, .theme-teal .card-location {
    color: #6B7280; }
  .theme-green .card-duration, .theme-green .card-location {
    color: #6B7280; }
  .dark-mode .card-duration, .dark-mode .card-location {
    color: #cbd5e1;
    font-weight: 400; }

.card-content {
  margin-top: 24px; }
  .card-content ul {
    padding-left: 24px;
    margin-bottom: 0; }

.card-keywords {
  margin-top: 24px;
  font-size: 14px;
  color: #6B7280;
  font-style: italic; }
  .theme-default .card-keywords {
    color: #6B7280; }
  .theme-red .card-keywords {
    color: #6B7280; }
  .theme-pink .card-keywords {
    color: #6B7280; }
  .theme-brown .card-keywords {
    color: #6B7280; }
  .theme-blue .card-keywords {
    color: #6B7280; }
  .theme-purple .card-keywords {
    color: #6B7280; }
  .theme-teal .card-keywords {
    color: #6B7280; }
  .theme-green .card-keywords {
    color: #6B7280; }
  .dark-mode .card-keywords {
    color: #cbd5e1;
    font-weight: 400; }

/* Footer */
.site-footer {
  padding: 32px 0;
  text-align: center;
  color: #6B7280;
  border-top: 1px solid #E5E7EB;
  margin-top: 48px; }
  .theme-default .site-footer {
    color: #6B7280;
    border-color: #E5E7EB; }
  .theme-red .site-footer {
    color: #6B7280;
    border-color: #E5E7EB; }
  .theme-pink .site-footer {
    color: #6B7280;
    border-color: #E5E7EB; }
  .theme-brown .site-footer {
    color: #6B7280;
    border-color: #E5E7EB; }
  .theme-blue .site-footer {
    color: #6B7280;
    border-color: #E5E7EB; }
  .theme-purple .site-footer {
    color: #6B7280;
    border-color: #E5E7EB; }
  .theme-teal .site-footer {
    color: #6B7280;
    border-color: #E5E7EB; }
  .theme-green .site-footer {
    color: #6B7280;
    border-color: #E5E7EB; }
  .dark-mode .site-footer {
    color: #cbd5e1;
    border-color: #1e293b; }
  .site-footer p {
    margin-bottom: 0; }

/* Theme Switcher */
.theme-switcher {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 1000; }

.theme-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #3B82F6;
  color: white;
  border: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease; }
  .theme-button:hover {
    transform: scale(1.1); }
  .theme-default .theme-button {
    background-color: #3B82F6; }
  .theme-red .theme-button {
    background-color: #EF4444; }
  .theme-pink .theme-button {
    background-color: #EC4899; }
  .theme-brown .theme-button {
    background-color: #92400E; }
  .theme-blue .theme-button {
    background-color: #3B82F6; }
  .theme-purple .theme-button {
    background-color: #8B5CF6; }
  .theme-teal .theme-button {
    background-color: #14B8A6; }
  .theme-green .theme-button {
    background-color: #10B981; }
  .dark-mode .theme-button {
    background-color: #1e40af;
    color: white;
    box-shadow: none; }

/* Dark mode overrides */
html.dark-mode,
body.dark-mode,
.dark-mode * {
  background-color: #0a101f; }

/* Force all elements to use dark background */
.dark-mode div,
.dark-mode section,
.dark-mode header,
.dark-mode footer,
.dark-mode nav,
.dark-mode aside,
.dark-mode article,
.dark-mode main,
.dark-mode .site-header,
.dark-mode .intro-section,
.dark-mode .resume-section,
.dark-mode .site-footer {
  background-color: #0a101f !important; }

/* Target specific elements that might still have white backgrounds */
.dark-mode .intro-section,
.dark-mode .intro-section .container,
.dark-mode .intro-section h2,
.dark-mode .intro-section p,
.dark-mode .intro-section small,
.dark-mode .intro-section a,
.dark-mode .intro-section img,
.dark-mode .site-header,
.dark-mode .site-header *,
.dark-mode .site-footer,
.dark-mode .site-footer *,
.dark-mode .container,
.dark-mode .row,
.dark-mode [class^="col-"],
.dark-mode .profile-pic,
.dark-mode .profile-pic img {
  background-color: #0a101f !important; }

/* Improve text readability in dark mode */
.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6 {
  color: #ffffff;
  font-weight: 600;
  background-color: transparent; }

.dark-mode p,
.dark-mode li,
.dark-mode span,
.dark-mode small,
.dark-mode strong {
  color: #ffffff;
  font-weight: 400;
  background-color: transparent; }

.dark-mode .card-content {
  color: #ffffff;
  background-color: transparent; }

.dark-mode .card-content li strong {
  color: #ffffff;
  font-weight: 600;
  background-color: transparent; }

.dark-mode .container,
.dark-mode .intro-section,
.dark-mode .resume-section,
.dark-mode .section-title,
.dark-mode .resume-grid,
.dark-mode .site-header,
.dark-mode .site-footer {
  background-color: #0a101f; }

.dark-mode .card-header {
  background-color: #0f172a; }

.dark-mode .resume-card {
  background-color: #0a101f; }

.print-footer {
  display: none; }

/* Print Styles */
@media print {
  .page-break {
    display: block;
    page-break-before: always; }

  @page {
    size: US-Letter;
    margin: 0.5cm; }
  html, body {
    background-color: white !important;
    color: black !important;
    font-size: 14px; }

  /* Force bright mode for printing */
  html.dark-mode, body.dark-mode {
    background-color: white !important;
    color: black !important; }

  .dark-mode * {
    background-color: white !important;
    color: black !important;
    border-color: #ddd !important; }

  .theme-switcher {
    display: none !important; }

  .container {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0; }

  .site-header {
    background-color: white !important;
    color: black !important;
    padding: 0.5cm 0 0.25cm 0;
    margin-bottom: 0.5cm;
    border-bottom: 1px solid #ddd;
    text-align: center; }
    .site-header .header-content {
      display: block; }
    .site-header .profile-name {
      text-align: center;
      margin-bottom: 0.25cm; }
      .site-header .profile-name h1 {
        font-size: 18pt;
        margin-bottom: 0.1cm; }
      .site-header .profile-name p {
        font-size: 12pt;
        margin: 0; }
    .site-header .contact-info {
      display: none !important; }

  .intro-section,
  .toggleable-section {
    display: none !important; }

  .resume-section {
    margin-bottom: 24px; }

  .section-title {
    margin-bottom: 0.5cm;
    page-break-after: avoid;
    break-after: avoid; }
    .section-title h2 {
      font-size: 14pt;
      margin-bottom: 0.2cm; }
      .section-title h2:after {
        height: 2px;
        width: 40px;
        margin-top: 0.1cm; }

  .resume-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5cm;
    page-break-inside: auto; }

  .resume-card {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    page-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 0.5cm;
    background-color: white !important; }
    .resume-card:hover {
      transform: none;
      box-shadow: none !important; }

  .dark-mode .resume-card {
    background-color: white !important;
    border: 1px solid #ddd !important; }

  .card-header {
    background-color: #f5f5f5 !important;
    color: black !important;
    padding: 8px 16px; }

  .card-body {
    padding: 0.3cm; }
    .card-body h4 {
      font-size: 12pt;
      margin-top: 0;
      margin-bottom: 0.2cm; }
    .card-body .card-subheading {
      font-size: 10pt;
      margin-bottom: 0.1cm; }
    .card-body .card-duration, .card-body .card-location {
      font-size: 9pt;
      margin-bottom: 0.1cm; }
    .card-body .card-content {
      font-size: 10pt; }
      .card-body .card-content ul {
        margin-top: 0.1cm;
        margin-bottom: 0.1cm;
        padding-left: 0.5cm; }
        .card-body .card-content ul li {
          margin-bottom: 0.1cm; }
      .card-body .card-content p {
        margin-bottom: 0.2cm; }

  .print-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 20px;
    padding: 5px 0;
    text-align: center;
    font-size: 12px;
    color: gray;
    display: block; }

  .site-footer {
    display: none; } }
