/* --------------------------------------
   RUBIK — Body Font (400)
--------------------------------------- */
@font-face {
    font-family: 'Rubik';
    src: url('https://assets.wacky.ist/fonts/Rubik/static/Rubik-Regular.woff2') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* --------------------------------------
   CAVEAT — Handwritten Headers
--------------------------------------- */
@font-face {
    font-family: 'Caveat';
    src: url('https://assets.wacky.ist/fonts/Caveat/static/Caveat-Regular.woff2') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Caveat';
    src: url('https://assets.wacky.ist/fonts/Caveat/static/Caveat-Bold.woff2') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Core backgrounds – warm, dark, grounded */
    --we-dark-color: #2D362E;          /* deep workshop wood */
    --we-head-foot-color: var(--we-nav-bg); /* #2C2A24;*/
    --we-bg-color: #243027;            /* card background (wood shadow) */
    --we-md-color: #3B3228;            /* inner panels, warmer stone */

    /* Borders / trim – taken from eagle feathers */
    --we-resume-border-color: #8A6A46; /* warm worn leather / copper */

    /* Text & headings – subtle warm parchment */
    --we-text-color: #EEE9DF;          /* soft readable parchment */
    --we-heading-text-color: #F6E7C4;  /* lighter parchment for headings */
    --we-heading-text-size: 1.8rem;

    /* Accents – straight out of the logo */
    --we-accent-text-color: #D9A25A;   /* logo text gold */
    --we-green-color: #4F6B4C;         /* pine forest green */
    --we-lightblue-color: #6FB7B3;     /* subtle cyan/tech feather hint */

    /* Links */
    --we-link-color: #EEE9DF;          /* soft warm white */
    --we-link-hover-color: #D9A25A;    /* logo gold */

    --we-nav-bg: #2C2A24;            /* default nav background */
    --we-nav-hover-bg: #555753;      /* hover background */
    --we-nav-dropdown-bg: var(--we-nav-bg);
    --we-nav-dropdown-hover-bg: var(--we-nav-hover-bg);
}

html {
	font-size: 13pt;
	min-width: 99vw;
	min-height: 100vh;
	padding: 0;
	margin: 0;
}
body {
	background-color: var(--we-dark-color);
        font-family: 'Rubik', Arial, Helvetica, sans-serif;
}

.we-container {
	padding-left: 3rem;
	padding-right: 3.5rem;
	width: 100%;
}

.row {
	margin-left: 0;
	margin-right: 0;
}

.panel-texture {
    background-color: var(--we-md-color);
    background-image:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.02) 0%,
            rgba(255, 255, 255, 0.005) 50%,
            rgba(0, 0, 0, 0.015) 100%
        ),
        repeating-linear-gradient(
            0deg,
            rgba(0,0,0,0.04) 0px,
            rgba(0,0,0,0.04) 2px,
            transparent 2px,
            transparent 4px
        );
}

/* -------------------------------------------------- */

.font-awesome-loaded .fa, 
.font-awesome-loaded .fab, 
.font-awesome-loaded .fas {
  font-family: 'FontAwesome';
}

/* -------------------------------------------------- */

.we-social-icons a {
	color: var(--we-accent-text-color);
	font-size: 2rem;
	line-height: 3.8rem;
	text-decoration: none;
}

.we-social-icon-text:hover {
	color: var(--we-green-color);
}

.we-social-icon-text {
	color: var(--we-lightblue-color);
	font-weight: bold;
}

.we-small-text {
	font-size: .9rem;
}

/* ------------------------------------------ */

.we-resume-content {
	padding-top: .6rem;
	padding-bottom: .6rem;
	padding-right: 2rem;
}
.we-resume-section-title {
	padding-bottom: 1rem;
	font-size: 1.8rem;
	font-weight: bold;
	color: var(--we-green-color);
}
.we-resume-section-title:not(.we-resume-section-title) {
	padding-top: 1rem;
}
.we-resume-text {
	padding-left: 3rem;
}
.we-resume-text-sm {
	font-size: 1rem;
	padding-left: 2rem;
}
.we-resume-text-sm a {
	text-decoration: underline;
}
.we-resume-text-brd {
	border-left: 1px dotted var(--we-accent-text-color);
	padding-left: 1rem;
}
.we-resume-bullet {
	margin-left: 1rem;
	margin-bottom: 0px;
	padding-bottom: 0px;
}
.we-resume-tech-titles {
	color: var(--we-accent-text-color);
	font-weight: bold;
	font-size: 1.5rem;
}
.we-resume-text-sm .we-resume-bold-txt {
	font-size: 1rem;
}
.we-resume-bold-txt {
	color: var(--we-lightblue-color);
	font-weight: bold;
	font-size: 1.15rem;
}
.we-resume-side-top {
	background-color: var(--bs-blue);
	padding: .35rem;
}
.we-resume-name {
	color: var(--we-accent-text-color);
	font-size: 3rem;
	letter-spacing: .35rem;
	font-weight: bold;
	margin-bottom: 0px;
	text-align: center;
}
.we-resume-title {
	font-size: 1.15rem;
	text-align: center;
}
.we-resume-side-points {
	font-size: .75rem;
	line-height: 2rem;
	width: 95%;
}
.we-resume-side-points a {
	font-size: .75rem;
}
.we-resume-side-title {
	padding-bottom: 2rem;
	font-size: 1.4rem;
	font-weight: bold;
	color: var(--we-green-color);
}

/* -------------------------------------------------- */

.nav {
    font-size: 1.1rem;
    font-weight: bold;
}

/* Top-level nav items */
.nav-link {
    background-color: var(--we-nav-bg);
    color: var(--we-nav-text);
    padding-top: .3rem;
    padding-left: .25rem;
    padding-right: .25rem;
    padding-bottom: .4rem;
    width: 12rem;
    text-align: center;
}

/* Hover states */
li.nav-item a.nav-link:hover {
    background-color: var(--we-nav-hover-bg);
    color: var(--we-nav-text-hover);
}

/* Dotted separators between items */
li.nav-item:not(:last-child) {
    border-right: 2px dotted var(--we-accent-text-color);
}

.dropdown-menu {
    background-color: var(--we-nav-dropdown-bg) !important;
    border: 1px solid var(--we-resume-border-color) !important;
}

.dropdown-menu .nav-link:hover,
.dropdown-item:hover {
    background-color: var(--we-nav-dropdown-hover-bg) !important;
    color: var(--we-nav-text-hover) !important;
}

/* Dropdown behaviors */
.dropdown:hover > .dropdown-menu .nav-link {
    min-width: 180px !important;
}

.dropdown > .dropdown-menu .nav-link {
    background-color: var(--we-nav-dropdown-bg);
    color: var(--we-text-color);
    padding-left: 1rem;
    text-align: left;
}

.dropdown > .dropdown-menu .nav-link:hover {
    background-color: var(--we-nav-dropdown-hover-bg);
    color: var(--we-nav-text-hover);
}

/* ======= Custom ======= */
.quote {
	color: var(--we-text-color);
	font-weight: bold;
	font-style: italic;
}

/* ======= Header ======= */
header {
    background: var(--we-head-foot-color);
    height: 40px;
    width: 100vw;
    z-index: 999;
}
.we-header {
    height: 45px;
    display: flex;
    align-items: center;
}
.header {
    padding-top: .5rem;
    padding-bottom: .5rem;
    border-bottom: 1px var(--we-resume-border-color) solid;
}
.we-header-logo {
    margin-top: 2.5rem;
    /*padding-top: .25rem;*/
    min-width: 35px;
    width: 99%;
    max-width: 135px;
    max-height: 85px;
    height: auto;
    z-index: 99;
}
.header .profile-content .social a {
    background: var(--we-accent-text-color);
    color: var(--bs-blue);
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1.9rem;
    padding: .15rem;

    display: inline-block;
    border-radius: 50%;
    text-align: center;
}
.header .profile-content .social a:hover {
    background: var(--we-heading-text-color);
    color: var(--we-accent-text-color);
}
.header .profile-content .social a .fa {
    font-size: 20px;
    padding-top: 8px;
}
/* ======= Projects======= */
.we-project-img {
	width: 99%;
	height: auto;
}

/* ======= Sections======= */
.sections-wrapper {
  padding-top: 40px;
  padding-bottom: 20px;
}
.section {
  margin-bottom: 30px;
}
.section .section-inner {
	/*background: var(--we-md-color);*/
	border-radius: 1.5rem;
	border: 1px dotted var(--we-accent-text-color);
	padding: 15px;
	font-size: 1.05rem;
}

.we-contact-box {
	background: var(--we-md-color);
	padding: 30px;
	font-size: 13pt;
}
.we-contact-box h2 {
	color: var(--we-heading-text-color);
        font-family: 'Caveat', 'Rubik', Arial, Helvetica, sans-serif;
	font-size: 1.5rem;
	font-weight: bold;
}

.we-social-proof-stat {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.75rem;
}
.we-social-proof-desc {
	font-size: .8rem;
	font-weight: bold;
	line-height: 1.75rem;
}

.we-li-green-check {
	color: var(--we-green-color);
	font-size: 1.25rem;
	
}

h1.heading {
	color: var(--we-green-color);
        font-family: 'Caveat', 'Rubik', Arial, Helvetica, sans-serif;
	font-size: 2.25rem;
	font-weight: bold;
}
h2.heading {
	color: var(--we-heading-text-color);
        font-family: 'Caveat', 'Rubik', Arial, Helvetica, sans-serif;
	font-size: 1.5rem;
	font-weight: bold;
}
h2.heading2 {
	background: var(--we-bg-color);
	color: var(--we-heading-text-color);
        font-family: 'Caveat', 'Rubik', Arial, Helvetica, sans-serif;
	font-size: 1.75rem;
	font-weight: bold;
	padding: .5rem;
	width: 100%;
}
.we-hp-ul li {
	font-size: 1.25rem;
	padding-bottom: .75rem;
}
.section .content .more-link .fa {
  margin-right: 5px;
  font-size: 14px;
}

/* Skills Section */
.skills .intro {
  margin-bottom: 30px;
}
.skills .skillset .item {
  margin-bottom: 30px;
}
.skills .skillset .level-title {
  font-size: 16px;
  position: relative;
  margin-top: 0;
  margin-bottom: 10px;
}
.skills .skillset .level-title .level-label {
  color: #ccd1d6;
  font-size: 14px;
  font-weight: 400;
  position: absolute;
  right: 0;
  top: 0;
}
/* Testimonials section */
.testimonials .item {
	background-color: var(--we-bg-color);
	border-radius: 1.5rem;
	border: 1px dashed var(--we-accent-text-color);
	padding: 1rem;
}
.testimonials .item {
  margin-bottom: 30px;
}
.testimonials .item:last-child {
  margin-bottom: 0;
}
.testimonials .item .quote {
  color: var(--we-text-color);
  font-size: .9rem;
  border-left-color: #9fdeb7;
  margin-bottom: 15px;
}
.testimonials .item .quote .fa-quote-left {
  color: var(--we-green-color);
  margin-right: 15px;
}
.fa-quote-right {
  color: var(--we-green-color);
  margin-left: 15px;
}
.testimonials .item .source {
  font-size: 14px;
  padding-left: 30px;
  font-weight: 500;
}
.testimonials .item .source .name {
  color: var(--we-lightblue-color);
  font-weight: 600;
}
.testimonials .item .source .title {
   color: var(--we-lightblue-color);
}

/* ======= Footer ======= */
.footer {
	background: var(--we-head-foot-color);
	padding: 1rem;
	width: 100vw;
}
.footer .copyright {
	color: #D3D7CF;
	font-size: 1.2rem;
	font-weight: bold;
}


.modal-dialog.modal-800 {
    width: 800px !important;
    margin: 30px auto;
}
.card-header .btn[aria-expanded=true] {
  color: #414141;
}


.zoom-img {
	width: 100%;
}
.zoom-caption {
	visibility: visible; 
}
.zoom-img:hover {
	width: 175%;
	height: auto;
}
.zoom-img:hover + .zoom-caption { 
	visibility: hidden; 
}

@media ( max-width: 768px ) {
	.we-resume-side-points {
		width: 95%;
	}
	.header {
		text-align: center;
	}
	.header .profile-image {
		float: none !important;
		margin: 0 auto;
	}
	.header .profile-content {
		float: none !important;
		text-align: center;
	}
	.header .btn {
		margin-top: 30px;
	}
	.project-image {
		margin-bottom: 15px;
	}
	input[type=text],
	input[type=email],
	input[type=url],
	input[type=password],
	textarea {
		width: 99%;
	}
}

@media (max-width: 550px) {
	input[type=text],
	input[type=email],
	input[type=url],
	input[type=password],
	textarea {
		width: 99%;
	}
	.we-resume-side-points {
		width: 99%;
	}
}

@media print {
	:root {
		--we-accent-text-color: black;
		--we-green-color: black;
		--we-lightblue-color: black;
		--we-text-color: black;
	}
	html, body {
		font-size: 12pt;
		background-color: white !important;
		color: black !important;
		width: 100%;
		padding: 0 !important;
		margin: 0 !important;
	}
	.sections-wrapper, .about, .section, .section-inner {
		width: 100%;
		padding: 0px !important;
		margin: 0px !important;
	}
	.noPrint, .col-print-0 {
		display: none;
	}
	.col-print-6, .we-resume-side-points.col-12 {
		min-width: 50% !important;
		width: 50% !important;
	}
	.we-resume-side-top {
		font-weight: bold;
		border-bottom: 2px solid black;
		height: 150px;
		padding: .15rem;
	}
	.we-resume-section-title {
		font-size: 1.2rem;
	}
	.we-resume-content:not(:first-child) {
		padding-top: .6rem;
		padding-bottom: .6rem;
		padding-right: 2rem;
	}
	.we-resume-side-points {
		width: 100%;
	}
	.we-resume-side-points, .we-resume-side-points a, .we-resume-bullet a {
		color: black;
		font-size: 1.2rem;
		text-decoration: none;
	}
	.we-resume-text {
		font-size: 1.1rem;
	}
	.we-resume-text-sm {
		font-size: 1rem;
	}
	.we-resume-text-sm a {
		text-decoration: none !important;
	}
	.we-resume-text-sm .we-resume-bold-txt {
		font-size: 1rem;
	}
	.we-resume-text-brd {
		border-left: 3px dotted black !important;
	}
	.profile-image {
		border: 2px solid black;
		min-width: 80px !important;
		width: 65% !important;
	}
}