/* CVfolder portfolio theme (from Start Bootstrap Resume v7.0.3, MIT). Bootstrap itself now comes from /vendor/bootstrap-5.3.3-cvfolder/. */
body {
  padding-top: 3.375rem;
  color: #6c757d;
}

@media (min-width: 992px) {
  body {
    padding-top: 0;
    padding-left: 17rem;
  }
}
h1, .h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  /*text-transform: uppercase; */
}

h1, .h1 {
  line-height: 1;
}

p.lead {
  font-size: 1.15rem;
  font-weight: 400;
}

.subheading {
  font-family: "Saira Extra Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /*text-transform: uppercase; */
  font-weight: 500;
  font-size: 1.5rem;
}

#sideNav {
  padding-left: 1rem;
  padding-right: 1rem;
  overflow-x:auto;	
}

#sideNav .navbar-nav .nav-item .nav-link {
  font-weight: 800;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}
#sideNav .navbar-toggler:focus {
  outline-color: #d48a6e;
}

@media (min-width: 992px) {
  #sideNav {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 17rem;
    height: 100vh;
  }
  #sideNav .navbar-brand {
    display: flex;
    margin: auto auto 0;
    padding: 0.5rem;
  }
  #sideNav .navbar-brand .img-profile {
    max-width: 10rem;
    max-height: 10rem;
    border: 0.5rem solid rgba(255, 255, 255, 0.2);
  }
  #sideNav .navbar-collapse {
    display: flex;
    align-items: flex-start;
    flex-grow: 0;
    width: 100%;
    margin-bottom: auto;
  }
  #sideNav .navbar-collapse .navbar-nav {
    flex-direction: column;
    width: 100%;
  }
  #sideNav .navbar-collapse .navbar-nav .nav-item {
    display: block;
  }
  #sideNav .navbar-collapse .navbar-nav .nav-item .nav-link {
    display: block;
  }
}
.social-icons .social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3.5rem;
  width: 3.5rem;
  background-color: #495057;
  color: #fff;
  border-radius: 100%;
  font-size: 1.5rem;
  margin-right: 1.5rem;
}
.social-icons .social-icon:last-child {
  margin-right: 0;
}
.social-icons .social-icon:hover {
  background-color: #bd5d38;
}

.dev-icons {
  font-size: 3rem;
}

section.resume-section {
align-items: center;    
  display: flex;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  max-width: 75rem;
}
section.resume-section .resume-section-content {
  width: 100%;
}

@media (min-width: 768px) {
  section.resume-section {
    min-height: 100vh;
  }
}
@media (min-width: 992px) {
  section.resume-section {
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 3rem;
    padding-bottom: 5rem;
  }
}
.btn-circle {
    width: 30px;
    height: 30px;
    padding: 6px 0px;
    border-radius: 15px;
    text-align: center;
    font-size: 12px;
    line-height: 1.42857;
}
.btn-circle.btn-xl {
    width: 70px;
    height: 70px;
    padding: 10px 16px;
    border-radius: 35px;
    font-size: 24px;
    line-height: 1.33;
}
li.borderless {
  border: 0 none;
}

.table-purple {
  --bs-table-bg: #9F2B68;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #9F2B68;
}

.btn-purple {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}
.btn-purple:hover {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}

.btn-check:focus + .btn-purple, .btn-purple:focus {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
  box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
.btn-check:checked + .btn-purple, .btn-check:active + .btn-purple, .btn-purple:active, .btn-purple.active, .show > .btn-purple.dropdown-toggle {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}
.btn-check:checked + .btn-purple:focus, .btn-check:active + .btn-purple:focus, .btn-purple:active:focus, .btn-purple.active:focus, .show > .btn-purple.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
.btn-purple:disabled, .btn-purple.disabled {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}




.btn-outline-purple {
  color: #9F2B68;
  border-color: #9F2B68;
}
.btn-outline-purple:hover {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}
.btn-check:focus + .btn-outline-purple, .btn-outline-purple:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
}
.btn-check:checked + .btn-outline-purple, .btn-check:active + .btn-outline-purple, .btn-outline-purple:active, .btn-outline-purple.active, .btn-outline-purple.dropdown-toggle.show {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}
.btn-check:checked + .btn-outline-purple:focus, .btn-check:active + .btn-outline-purple:focus, .btn-outline-purple:active:focus, .btn-outline-purple.active:focus, .btn-outline-purple.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
}
.btn-outline-purple:disabled, .btn-outline-purple.disabled {
  color: #9F2B68;
  background-color: transparent;
}



.alert-purple {
  color: #9F2B68;
  background-color: #ffffff;
  border-color: #9F2B68;
}
.alert-purple .alert-link {
  color: #9F2B68;
}

.list-group-item-purple {
  color: #9F2B68;
  background-color: #9F2B68;
}
.list-group-item-purple.list-group-item-action:hover, .list-group-item-purple.list-group-item-action:focus {
  color: #9F2B68;
  background-color: #9F2B68;
}
.list-group-item-purple.list-group-item-action.active {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}

.link-purple {
  color: #9F2B68;
}
.link-purple:hover, .link-purple:focus {
  color: #9F2B68;
}

.border-purple {
  border-color: #9F2B68 !important;
}
.text-purple {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-purple-rgb), var(--bs-text-opacity)) !important;
}

.bg-purple {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-purple-rgb), var(--bs-bg-opacity)) !important;
}

.btn-purple {
  color: #000;
  background-color: #9F2B68;
  border-color: #9F2B68;
}
.btn-purple:hover {
  color: #000;
  background-color: #9F2B68;
  border-color: #9F2B68;
}

.btn-check:focus + .btn-purple, .btn-purple:focus {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
  box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
}
.btn-check:checked + .btn-purple, .btn-check:active + .btn-purple, .btn-purple:active, .btn-purple.active, .show > .btn-purple.dropdown-toggle {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}
.btn-check:checked + .btn-purple:focus, .btn-check:active + .btn-purple:focus, .btn-purple:active:focus, .btn-purple.active:focus, .show > .btn-purple.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
}
.btn-purple:disabled, .btn-purple.disabled {
  color: #fff;
  background-color: #9F2B68;
  border-color: #9F2B68;
}
/* pages inside a folder in the portfolio sidebar: use the sidebar's own colours (the nested .nav otherwise
   falls back to the primary link colour, which is invisible on an orange sidebar) */
#sideNav .navbar-nav .nav .nav-link { color: var(--bs-navbar-color); padding-left: .75rem; }
#sideNav .navbar-nav .nav .nav-link:hover, #sideNav .navbar-nav .nav .nav-link:focus { color: var(--bs-navbar-hover-color); }
#sideNav .navbar-nav .nav .nav-link.active { color: var(--bs-navbar-active-color); }

/* (2026-11-14) readability of the portfolio themes
   - menu links that are not the current page: stronger than Bootstrap's 55%
   - light theme colours (Yellow = warning, Blue = info): dark text on them, and a darker shade when the colour is
     used as text on white (white on yellow was 1.6:1, on light blue 2:1) */
#sideNav.navbar-dark { --bs-navbar-color: #fff; --bs-navbar-hover-color: #fff; --bs-navbar-active-color: #fff; }
/* current page: a soft box instead of brighter text (all links are full-contrast now) */
#sideNav .navbar-nav .nav-link.active { background: rgba(255, 255, 255, .18); border-radius: .375rem; }
#sideNav.navbar-light .navbar-nav .nav-link.active { background: rgba(0, 0, 0, .09); }
#sideNav .navbar-nav .nav-link:hover { text-decoration: underline; text-underline-offset: .25em; }
#sideNav.navbar-light { --bs-navbar-color: rgba(0, 0, 0, .72); --bs-navbar-hover-color: #000; --bs-navbar-active-color: #000; --bs-navbar-brand-color: #000; }
#sideNav.navbar-light .text-white { color: #15171b !important; }
.btn-warning.text-white, .btn-info.text-white, .bg-warning.text-white, .bg-info.text-white,
.bg-warning .text-white, .bg-info .text-white, .badge.bg-warning, .badge.bg-info { color: #15171b !important; }
.bg-warning .btn-close-white, .bg-info .btn-close-white { filter: none; }
.text-warning { color: #8a6100 !important; }
.text-info { color: #08788f !important; }
.btn-outline-warning { --bs-btn-color: #8a6100; }
.btn-outline-info { --bs-btn-color: #08788f; }
